version 1.2, 2002/05/16 01:46:29
|
version 1.7, 2002/09/22 08:32:46
|
Line 1
|
Line 1
|
|
<!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" |
|
"http://lpml.sourceforge.net/DTD/piml.dtd"> |
<!-- sanitycheck.piml --> |
<!-- sanitycheck.piml --> |
<!-- Scott Harrison --> |
<!-- Scott Harrison --> |
|
|
Line 31 http://www.lon-capa.org/
|
Line 33 http://www.lon-capa.org/
|
<targetroot>/</targetroot> |
<targetroot>/</targetroot> |
<files> |
<files> |
<file> |
<file> |
|
<target dist='default'>/var/lib/mysql/mysql.sock</target> |
|
<perlscript mode='fg'> |
|
unless |
|
(-e '<TARGET />') # Does file exist? |
|
{ |
|
print("**** ERROR **** Missing <TARGET />\n"); |
|
} |
|
else # It exists, so look at the file metadata more closely. |
|
{ |
|
my @s = stat('<TARGET />'); |
|
my $uid = $s[4]; |
|
my $mode = $s[2]; |
|
my $web_uid = getpwnam('www'); |
|
my $smode = sprintf("%04o",$mode & 07777); |
|
|
|
if ($uid ne $web_uid) # If file owned by someone else other than www. |
|
{ |
|
print('**** ERROR **** <TARGET /> should be owned by'. |
|
' www.'."\n".'Try these commands to make things right:'."\n". |
|
'chown www:www /var/lib/mysql/mysql.sock'."\n". |
|
'chmod a-rwx,u+rwx /var/lib/mysql/mysql.sock'."\n"); |
|
} |
|
else # Check permissions on the file to make sure it is private to www. |
|
{ |
|
$smode =~ /^.(.)..$/; |
|
my $wflag = $1; |
|
if ($wflag != 7) # Can www use this socket? (Hope so!) |
|
{ |
|
print('**** ERROR **** '. |
|
'<TARGET /> should be user "rwx" (by'. |
|
' www).'."\n".'Try these commands to make things right:'."\n". |
|
'chown www:www /var/lib/mysql/mysql.sock'."\n". |
|
'chmod a-rwx,u+rwx /var/lib/mysql/mysql.sock'."\n"); |
|
} |
|
$smode=~/^..(..)$/; |
|
$wflag=$1; |
|
if ($wflag ne "00") # Can others use this socket? (Hope not!) |
|
{ |
|
print('**** ERROR **** '. |
|
'<TARGET /> should not be group or everybody accessible'. |
|
'.'."\n".'Try these commands to make things right:'."\n". |
|
'chown www:www /var/lib/mysql/mysql.sock'."\n". |
|
'chmod a-rwx,u+rwx /var/lib/mysql/mysql.sock'."\n"); |
|
} |
|
} |
|
} |
|
</perlscript> |
|
</file> |
|
<file> |
<target dist='default'>/etc/httpd/conf/loncapa.conf</target> |
<target dist='default'>/etc/httpd/conf/loncapa.conf</target> |
<perlscript mode='fg'> |
<perlscript mode='fg'> |
open IN, "<<TARGET />"; |
open IN, "<<TARGET />"; |
Line 48 while (<IN>) {
|
Line 99 while (<IN>) {
|
$dbug=0; |
$dbug=0; |
$dbug=1 if $v=~/\W/; |
$dbug=1 if $v=~/\W/; |
$dbug=1 if $v=~/\_/; |
$dbug=1 if $v=~/\_/; |
|
# Avoid namespace conflicts under the web server's DocumentRoot. |
|
my @badnames=('raw','userfiles','priv','adm','uploaded'); |
|
foreach my $bad (@badnames) { |
|
$dbug=1 if $v eq $bad; |
|
} |
} |
} |
} |
} |
if ($hbug) { |
if ($hbug) { |
Line 73 while (<IN>) {
|
Line 129 while (<IN>) {
|
$dbug=1 if $a[0]=~/\_/; |
$dbug=1 if $a[0]=~/\_/; |
$dbug=1 if $a[1]=~/\_/; |
$dbug=1 if $a[1]=~/\_/; |
$dbug=1 if $a[1]=~/\W/; |
$dbug=1 if $a[1]=~/\W/; |
$fbug=1 if @a!=5; |
$fbug=1 if (@a<5 || @a>6); |
$sbug=1 if /\s.+$/; |
my $expr='\s.+$'; |
|
$sbug=1 if ($a[0] =~ /$expr/ || |
|
$a[1] =~ /$expr/ || |
|
$a[2] =~ /$expr/ || |
|
$a[3] =~ /$expr/ || |
|
$a[4] =~ /$expr/ ) |
|
; |
} |
} |
} |
} |
close IN; |
close IN; |
Line 85 if ($dbug) {
|
Line 147 if ($dbug) {
|
print "**** ERROR **** <TARGET /> has invalid host id or domain id\n"; |
print "**** ERROR **** <TARGET /> has invalid host id or domain id\n"; |
} |
} |
if ($fbug) { |
if ($fbug) { |
print "**** ERROR **** <TARGET /> is lacking 5 columns for every row\n"; |
print "**** ERROR **** <TARGET /> is lacking 5 or 6 columns for every row\n"; |
} |
} |
if ($sbug) { |
if ($sbug) { |
print "**** ERROR **** <TARGET /> has illegal whitespace character\n"; |
print "**** ERROR **** <TARGET /> has illegal whitespace character\n"; |