MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //proc/self/root/proc/self/root/scripts.20110531.215904.25158/fixsuexeccgiscripts
#!/usr/bin/perl
# cpanel4 - scripts        Copyright(c) 1997-2002 DarkORB Communications  Inc.
#                                 All rights Reserved.
# copyright@cpanel.net      http://cpanel.net
# This code is subject to the cpanel license. Unauthorized copying is prohibited

require "/scripts/safetybits.pl";

$|=1;

if ($ARGV[0] eq "-q") {
	close(STDOUT);
}
print "Scanning suexec_log.";
$lc = 0;

open(SUEXECLOGT,"/usr/local/apache/logs/suexec_log.offset");
chomp($start = <SUEXECLOGT>);
close(SUEXECLOGT);

                   my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
                      $atime,$mtime,$ctime,$blksize,$blocks)
                          = stat("/usr/local/apache/logs/suexec_log");

if ($size == $start) { print "..Done\n"; exit; }
open(SUEXECLOG,"/usr/local/apache/logs/suexec_log");
if ($size > $start) {
	seek(SUEXECLOG,$start,0);
}
while(<SUEXECLOG>) {
	$lc++;
	if ($lc % 500 == 0) { print "."; }
	if ($lc % 10000 == 0) { print "\n"; }
	next if /mailman/;
	next if !/public_html/;
	if (/directory is writable by others/ || /file is writable by others/) {
		/\(([^\)]+)\)/;
			$BADCGI{$1} = 1;
	}
}
$end = tell(SUEXECLOG);
close(SUEXECLOG);
open(SUEXECLOGT,">/usr/local/apache/logs/suexec_log.offset");
print SUEXECLOGT "$end\n";
close(SUEXECLOGT);
print "Done\n";
foreach my $cgi (sort keys %BADCGI) {
	my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
                      $atime,$mtime,$ctime,$blksize,$blocks)
                          = stat($cgi);
	if($uid > 99 && $gid >= 99) {
		print "Fixing permissions on $cgi....";
		safe_chmod(0755,"${uid}","${cgi}");
		print "Done\n";
	}
}