X7ROOT File Manager
Current Path:
/usr/libexec/webmin
usr
/
libexec
/
webmin
/
📁
..
📁
JSON
📄
LICENCE
(1.48 KB)
📄
LICENCE.ja
(1.62 KB)
📄
README.md
(4.01 KB)
📄
WebminCore.pm
(7.65 KB)
📁
WebminUI
📁
acl
📄
acl_security.pl
(4.51 KB)
📁
adsl-client
📁
ajaxterm
📁
apache
📁
at
📁
authentic-theme
📁
backup-config
📁
bacula-backup
📁
bandwidth
📁
bin
📁
bind8
📁
blue-theme
📁
change-user
📄
changepass.pl
(868 B)
📄
chooser.cgi
(7.21 KB)
📁
cluster-copy
📁
cluster-cron
📁
cluster-passwd
📁
cluster-shell
📁
cluster-software
📁
cluster-useradmin
📁
cluster-usermin
📁
cluster-webmin
📄
config-aix
(227 B)
📄
config-cobalt-linux
(264 B)
📄
config-coherent-linux
(264 B)
📄
config-corel-linux
(264 B)
📄
config-debian-linux
(264 B)
📄
config-freebsd
(256 B)
📄
config-generic-linux
(264 B)
📄
config-gentoo-linux
(264 B)
📄
config-hpux
(243 B)
📄
config-irix
(284 B)
📄
config-lib.pl
(10.83 KB)
📄
config-macos
(260 B)
📄
config-mandrake-linux
(278 B)
📄
config-msc-linux
(264 B)
📄
config-netbsd
(283 B)
📄
config-open-linux
(264 B)
📄
config-openbsd
(241 B)
📄
config-openmamba-linux
(264 B)
📄
config-openserver
(236 B)
📄
config-osf1
(266 B)
📄
config-pardus-linux
(264 B)
📄
config-redhat-linux
(264 B)
📄
config-slackware-linux
(280 B)
📄
config-sol-linux
(264 B)
📄
config-solaris
(417 B)
📄
config-suse-linux
(264 B)
📄
config-syno-linux
(364 B)
📄
config-trustix-linux
(264 B)
📄
config-turbo-linux
(264 B)
📄
config-united-linux
(264 B)
📄
config-unixware
(286 B)
📄
config-windows
(88 B)
📄
config.cgi
(1.55 KB)
📄
config_save.cgi
(1.64 KB)
📄
copyconfig.pl
(4.33 KB)
📁
cpan
📄
create-module.pl
(3.82 KB)
📁
cron
📁
custom
📄
date_chooser.cgi
(2.19 KB)
📄
defaultacl
(98 B)
📄
defaulttheme
(16 B)
📁
dfsadmin
📁
dhcpd
📁
dovecot
📄
entities_map.txt
(1.47 KB)
📁
exim
📁
exports
📁
fail2ban
📄
fastrpc.cgi
(10.59 KB)
📄
favicon.ico
(14.73 KB)
📁
fdisk
📄
feedback.cgi
(6.37 KB)
📄
feedback_form.cgi
(3.45 KB)
📁
fetchmail
📁
filemin
📁
filter
📁
firewall
📁
firewall6
📁
firewalld
📁
fsdump
📁
gray-theme
📄
group_chooser.cgi
(7.36 KB)
📁
grub
📁
heartbeat
📄
help.cgi
(2.36 KB)
📁
htaccess-htpasswd
📁
idmapd
📁
images
📄
index.cgi
(5.61 KB)
📁
inetd
📁
init
📁
inittab
📄
install-module.pl
(1.54 KB)
📄
install-type
(4 B)
📁
ipfilter
📁
ipfw
📁
ipsec
📁
iscsi-client
📁
iscsi-server
📁
iscsi-target
📁
iscsi-tgtd
📁
jabber
📁
jailkit
📄
javascript-lib.pl
(14.69 KB)
📁
krb5
📁
lang
📄
lang_list.txt
(3.41 KB)
📁
ldap-client
📁
ldap-server
📁
ldap-useradmin
📁
logrotate
📁
logviewer
📁
lpadmin
📁
lvm
📁
mailboxes
📁
mailcap
📄
maketemp.pl
(424 B)
📁
man
📄
mime.types
(12.42 KB)
📄
miniserv.pem
(974 B)
📄
miniserv.pl
(172.58 KB)
📄
module_chooser.cgi
(4.14 KB)
📁
mon
📁
mount
📁
mysql
📁
net
📄
newmods.pl
(1.25 KB)
📁
nis
📁
openslp
📄
os_list.txt
(33.58 KB)
📄
oschooser.pl
(4.55 KB)
📁
package-updates
📁
pam
📄
pam_login.cgi
(2.65 KB)
📁
pap
📁
passwd
📄
password_change.cgi
(7 KB)
📄
password_form.cgi
(1.3 KB)
📄
perlpath.pl
(571 B)
📁
php-pear
📁
phpini
📁
postfix
📁
postgresql
📁
ppp-client
📁
pptp-client
📁
pptp-server
📁
proc
📁
procmail
📁
proftpd
📁
qmailadmin
📁
quota
📁
raid
📄
record-failed.pl
(503 B)
📄
record-login.pl
(513 B)
📄
record-logout.pl
(516 B)
📄
robots.txt
(26 B)
📄
rpc.cgi
(4 KB)
📁
ruby-gems
📄
run-postinstalls.pl
(1 KB)
📄
run-uninstalls.pl
(1004 B)
📄
safeacl
(44 B)
📁
samba
📁
sarg
📁
sendmail
📁
servers
📄
session_login.cgi
(3.36 KB)
📄
setup.bat
(3.09 KB)
📄
setup.pl
(29.93 KB)
📄
setup.sh
(31.72 KB)
📁
shell
📁
shorewall
📁
shorewall6
📁
smart-status
📁
smf
📁
software
📁
spam
📁
squid
📁
sshd
📁
status
📁
stunnel
📄
switch_skill.cgi
(293 B)
📄
switch_user.cgi
(404 B)
📁
syslog
📁
syslog-ng
📁
system-status
📁
tcpwrappers
📁
telnet
📄
thirdparty.pl
(1.73 KB)
📁
time
📁
tunnel
📄
ui-lib.pl
(82.48 KB)
📁
unauthenticated
📄
update-from-repo.sh
(14.8 KB)
📁
updown
📄
uptracker.cgi
(2.88 KB)
📄
user_chooser.cgi
(7.29 KB)
📁
useradmin
📁
usermin
📄
version
(6 B)
📁
vgetty
📁
virtual-server
📁
virtualmin-awstats
📁
virtualmin-htpasswd
📄
web-lib-funcs.pl
(329.15 KB)
📄
web-lib.pl
(907 B)
📁
webalizer
📁
webmin
📄
webmin-daemon
(80 B)
📄
webmin-debian-pam
(104 B)
📄
webmin-init
(1.93 KB)
📄
webmin-pam
(101 B)
📄
webmin-search-lib.pl
(8.93 KB)
📄
webmin-systemd
(351 B)
📄
webmin_search.cgi
(2.63 KB)
📁
webmincron
📁
webminlog
📁
wuftpd
📁
xinetd
📄
xmlrpc.cgi
(7.53 KB)
Editing: rpc.cgi
#!/usr/bin/perl # rpc.cgi # Handles remote_foreign_require and remote_foreign_call requests from # other webmin servers. State is preserved by starting a process for each # session that listens for requests on a named pipe (and dies after a few # seconds of inactivity) # access{'rpc'} 0=not allowed 1=allowed 2=allowed if root or admin BEGIN { push(@INC, "."); }; use WebminCore; use POSIX; &init_config(); if ($ENV{'REQUEST_METHOD'} eq 'POST') { local $got; local $left = $ENV{'CONTENT_LENGTH'} - length($rawarg); while($left > 0) { read(STDIN, $got, $left) > 0 || last; $rawarg .= $got; $left = $ENV{'CONTENT_LENGTH'} - length($rawarg); } } else { $rawarg = $ENV{'QUERY_STRING'}; } $| = 1; print "Content-type: text/plain\n\n"; # Can this user make remote calls? if (!&webmin_user_can_rpc()) { print &serialise_variable( { 'status' => 0 } ); exit; } $arg = &unserialise_variable($rawarg); if ($arg->{'newsession'}) { # Need to fork a new session-handler process $fifo1 = &tempname(); $fifo2 = &tempname(); mkfifo($fifo1, 0700); mkfifo($fifo2, 0700); if (!fork()) { # This is the subprocess where execution really happens $SIG{'ALRM'} = "fifo_timeout"; untie(*STDIN); untie(*STDOUT); close(STDIN); close(STDOUT); close(miniserv::SOCK); local $stime = time(); local $rcount = 0; while(1) { local ($rawcmd, $cmd, @rv); alarm($rcount ? 360 : 60); open(FIFO, "<$fifo1") || last; while(<FIFO>) { $rawcmd .= $_; } close(FIFO); alarm(0); $cmd = &unserialise_variable($rawcmd); if ($cmd->{'action'} eq 'quit') { # time to end this session (after the reply) @rv = ( { 'time' => time() - $stime } ); } elsif ($cmd->{'action'} eq 'require') { # require a library &foreign_require($cmd->{'module'}, $cmd->{'file'}); @rv = ( { 'session' => [ $fifo1, $fifo2 ] } ); } elsif ($cmd->{'action'} eq 'call') { # execute a function @rv = &foreign_call($cmd->{'module'}, $cmd->{'func'}, @{$cmd->{'args'}}); } elsif ($cmd->{'action'} eq 'eval') { # eval some perl code if ($cmd->{'module'}) { @rv = eval <<EOF; package $cmd->{'module'}; $cmd->{'code'} EOF } else { @rv = eval $cmd->{'code'}; } } open(FIFO, ">$fifo2"); if (@rv == 1) { print FIFO &serialise_variable( { 'status' => 1, 'rv' => $rv[0] } ); } else { print FIFO &serialise_variable( { 'status' => 1, 'arv' => \@rv } ); } close(FIFO); last if ($cmd->{'action'} eq 'quit'); $rcount++; } unlink($fifo1); unlink($fifo2); exit; } $session = [ $fifo1, $fifo2 ]; } else { # Use the provided session id $session = $arg->{'session'}; } if ($arg->{'action'} eq 'ping') { # Just respond with an OK print &serialise_variable( { 'status' => 1 } ); } elsif ($arg->{'action'} eq 'check') { # Check if some module is supported print &serialise_variable( { 'status' => 1, 'rv' => &foreign_check($arg->{'module'}, undef, undef, $arg->{'api'}) } ); } elsif ($arg->{'action'} eq 'config') { # Get the config for some module local %config = &foreign_config($arg->{'module'}); print &serialise_variable( { 'status' => 1, 'rv' => \%config } ); } elsif ($arg->{'action'} eq 'write') { # Transfer data to a local temp file local $file = $arg->{'file'} ? $arg->{'file'} : $arg->{'name'} ? &tempname($arg->{'name'}) : &tempname(); open(FILE, ">$file"); print FILE $arg->{'data'}; close(FILE); print &serialise_variable( { 'status' => 1, 'rv' => $file } ); } elsif ($arg->{'action'} eq 'read') { # Transfer data from a file local ($data, $got); open(FILE, "<$arg->{'file'}"); while(read(FILE, $got, 1024) > 0) { $data .= $got; } close(FILE); print &serialise_variable( { 'status' => 1, 'rv' => $data } ); } else { # Pass the request on to the subprocess open(FIFO, ">$session->[0]"); print FIFO $rawarg; close(FIFO); open(FIFO, "<$session->[1]"); while(<FIFO>) { print; } close(FIFO); } sub fifo_timeout { unlink($fifo1); unlink($fifo2); exit; }
Upload File
Create Folder