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.158
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 /
virtualmin-htpasswd /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
404
B
-rw-r--r--
LICENSE
34.32
KB
-rw-r--r--
add.cgi
3.14
KB
-rwxr-xr-x
add_form.cgi
1.52
KB
-rwxr-xr-x
cgi_args.pl
279
B
-rwxr-xr-x
create-protected-directory.pl
4.78
KB
-rwxr-xr-x
create-protected-user.pl
3.63
KB
-rwxr-xr-x
delete-protected-directory.pl
3.35
KB
-rwxr-xr-x
delete-protected-user.pl
2.64
KB
-rwxr-xr-x
delete.cgi
1.82
KB
-rwxr-xr-x
find.cgi
1.79
KB
-rwxr-xr-x
index.cgi
2.42
KB
-rwxr-xr-x
install-type
4
B
-rw-r--r--
list-protected-directories.pl
3.01
KB
-rwxr-xr-x
list-protected-users.pl
2.99
KB
-rwxr-xr-x
module.info
147
B
-rw-r--r--
module.info.af.auto
34
B
-rw-r--r--
module.info.ar.auto
49
B
-rw-r--r--
module.info.be.auto
41
B
-rw-r--r--
module.info.bg.auto
65
B
-rw-r--r--
module.info.ca.auto
44
B
-rw-r--r--
module.info.cs.auto
42
B
-rw-r--r--
module.info.da.auto
40
B
-rw-r--r--
module.info.de.auto
45
B
-rw-r--r--
module.info.el.auto
79
B
-rw-r--r--
module.info.es.auto
45
B
-rw-r--r--
module.info.eu.auto
43
B
-rw-r--r--
module.info.fa.auto
58
B
-rw-r--r--
module.info.fi
40
B
-rw-r--r--
module.info.fr.auto
47
B
-rw-r--r--
module.info.he.auto
45
B
-rw-r--r--
module.info.hr.auto
41
B
-rw-r--r--
module.info.hu.auto
40
B
-rw-r--r--
module.info.it.auto
41
B
-rw-r--r--
module.info.ja.auto
43
B
-rw-r--r--
module.info.ko.auto
39
B
-rw-r--r--
module.info.lt.auto
45
B
-rw-r--r--
module.info.lv.auto
41
B
-rw-r--r--
module.info.ms.auto
40
B
-rw-r--r--
module.info.mt.auto
43
B
-rw-r--r--
module.info.nl
42
B
-rw-r--r--
module.info.no
40
B
-rw-r--r--
module.info.pl.auto
39
B
-rw-r--r--
module.info.pt.auto
45
B
-rw-r--r--
module.info.pt_BR.auto
48
B
-rw-r--r--
module.info.ro.auto
40
B
-rw-r--r--
module.info.ru.auto
57
B
-rw-r--r--
module.info.sk.auto
40
B
-rw-r--r--
module.info.sl.auto
41
B
-rw-r--r--
module.info.sv.auto
38
B
-rw-r--r--
module.info.th.auto
111
B
-rw-r--r--
module.info.tr.auto
38
B
-rw-r--r--
module.info.uk.auto
63
B
-rw-r--r--
module.info.ur.auto
72
B
-rw-r--r--
module.info.vi.auto
41
B
-rw-r--r--
module.info.zh.auto
37
B
-rw-r--r--
module.info.zh_TW.auto
40
B
-rw-r--r--
virtual_feature.pl
7.38
KB
-rwxr-xr-x
virtualmin-htpasswd-lib.pl
2.03
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : create-protected-directory.pl
#!/usr/bin/perl use strict; use warnings; our $module_name; =head1 create-protected-directory.pl Adds protection to a directory owned by some virtual server. This command sets up protection for a web directory under a virtual server selected with the C<--domain> flag. The directory to protect is set with the C<--path> flag, which can be followed by either a full path or one relative to the domain's home directory. The optional C<--desc> flag can be used to set the description for the directory shown when an end user accesses it via a web browser. The password hashing format to use can be changed from the default with one of the flags C<--crypt>, C<--md5>, C<--sha1> or C<--digest>. =cut package virtualmin_htpasswd; if (!$module_name) { no warnings "once"; $main::no_acl_check++; use warnings "once"; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; my $pwd; if ($0 =~ /^(.*)\/[^\/]+$/) { chdir($pwd = $1); } else { chop($pwd = `pwd`); } $0 = "$pwd/create-protected-directory.pl"; require './virtualmin-htpasswd-lib.pl'; $< == 0 || die "create-protected-directory must be run as root"; } my @OLDARGV = @ARGV; # Parse command-line args my ($dname, $path, $desc); my $format = 0; while(@ARGV > 0) { my $a = shift(@ARGV); if ($a eq "--domain") { $dname = shift(@ARGV); } elsif ($a eq "--path") { $path = shift(@ARGV); } elsif ($a eq "--desc") { $desc = shift(@ARGV); } elsif ($a eq "--crypt") { $format = 0; } elsif ($a eq "--md5") { $format = 1; } elsif ($a eq "--sha1") { $format = 2; } elsif ($a eq "--digest") { $format = 3; } else { &usage(); } } # Validate parameters $dname || &usage("Missing --domain parameter"); my $d = &virtual_server::get_domain_by("dom", $dname); $d || &usage("No domain named $dname found"); $path || &usage("Missing --path parameter"); if ($path !~ /^\//) { # Assume under public_html $path = &virtual_server::public_html_dir($d)."/".$path; } -d $path || &usage("Directory $path does not exist"); &is_under_directory($d->{'home'}, $path) || &usage("Directory $path must be under $d->{'home'}"); # Check for a directory clash my @dirs = &htaccess_htpasswd::list_directories(); my ($clash) = grep { $_->[0] eq $path } @dirs; $clash && &usage("Directory $path is already protected"); # Check for existing files my $file = "$path/$htaccess_htpasswd::config{'htaccess'}"; my $conf = &apache::get_htaccess_config($file); my $htusers = $htaccess_htpasswd::config{'htpasswd'} || "htusers"; my $usersfile = "$path/$htusers"; foreach my $clash ("AuthUserFile", "AuthType", "AuthName") { my $dirclash = &apache::find_directive($clash, $conf); if ($dirclash) { &usage("File $file already contains Apache directive $clash"); } } -r $usersfile && &usage("Users file $usersfile already exists"); -l $file && &usage("File $file is a symbolic link"); # Create .htaccess (as domain owner) &lock_file($file); &apache::save_directive("AuthUserFile", [ "\"$usersfile\"" ], $conf, $conf); &apache::save_directive("AuthType", [ "Basic" ], $conf, $conf); if ($desc) { &apache::save_directive("AuthName", [ "\"$desc\"" ], $conf, $conf); } &apache::save_directive("require", [ "valid-user" ], $conf, $conf); &apache::save_directive_struct(undef, { 'name' => 'Files', 'value' => $htusers, 'type' => 1, 'members' => [ { 'name' => 'deny', 'value' => 'from all' }, ], }, $conf, $conf); &virtual_server::write_as_domain_user($d, sub { &flush_file_lines($file) }); &unlock_file($file); &virtual_server::set_permissions_as_domain_user($d, 0755, $file); # Create users file &lock_file($usersfile); my $fh = "USERS"; &virtual_server::open_tempfile_as_domain_user($d, $fh, ">$usersfile"); &virtual_server::close_tempfile_as_domain_user($d, $fh); my $perms = &virtual_server::apache_in_domain_group($d) ? 0750 : 0755; &virtual_server::set_permissions_as_domain_user($d, $perms, $usersfile); &unlock_file($usersfile); # Add to protected dirs list my $dirstr = [ $path, $usersfile, $format, 0, undef ]; push(@dirs, $dirstr); &htaccess_htpasswd::save_directories(\@dirs); print "Added protection for $path\n"; sub usage { print "$_[0]\n\n" if ($_[0]); print "Adds protection to a directory owned by some virtual server.\n"; print "\n"; print "virtualmin create-protected-directory --domain name\n"; print " --path directory\n"; print " [--desc \"description\"]\n"; print " [--crypt | --md5 | --sha1 | --digest]\n"; exit(1); }
Close