version 1.1, 2002/04/27 12:01:50
|
version 1.4, 2002/11/25 18:45:55
|
Line 115 if($DEBUG) {
|
Line 115 if($DEBUG) {
|
|
|
} |
} |
|
|
if( $authentication ne "unix" && |
if( $authentication ne "unix:" && |
$authentication ne "internal" && |
$authentication ne "internal:" && |
$authentication ne "krb4" && |
$authentication !~ /^krb(4|5):(.*)/ && |
$authentication ne "localauth") { |
$authentication ne "localauth:") { |
if($DEBUG) { |
if($DEBUG) { |
print("Invalid authentication parameter: ".$authentication."\n"); |
print("Invalid authentication parameter: ".$authentication."\n"); |
print("Should be one of: unix, internal, krb4, localauth\n"); |
print("Should be one of: unix, internal, krb4, localauth\n"); |
Line 175 if(!( -e $dirtry1)) {
|
Line 175 if(!( -e $dirtry1)) {
|
if($DEBUG) { |
if($DEBUG) { |
print("User's home directory $dirtry1 does not exist\n"); |
print("User's home directory $dirtry1 does not exist\n"); |
} |
} |
exit 6; |
if ($authentication eq "unix:") { |
|
exit 6; |
|
} |
} |
} |
&EnableRoot; |
&EnableRoot; |
|
|
&System("/bin/mkdir $fulldir") unless (-e $fulldir); |
&System("/bin/mkdir -p $fulldir") unless (-e $fulldir); |
unless(-e $fulldir."/index.html") { |
unless(-e $fulldir."/index.html") { |
open OUT,">".$fulldir."/index.html"; |
open OUT,">".$fulldir."/index.html"; |
print OUT<<END; |
print OUT<<END; |
Line 211 END
|
Line 213 END
|
|
|
# Based on the authentiation mode, set the ownership of the directory. |
# Based on the authentiation mode, set the ownership of the directory. |
|
|
if($authentication eq "unix") { # Unix mode authentication... |
if($authentication eq "unix:") { # Unix mode authentication... |
|
|
|
|
&System("/bin/chown -R $username".":".$username." ".$fulldir); |
&System("/bin/chown -R $username".":".$username." ".$fulldir); |
&JoinGroup($username); |
&JoinGroup($username); |
|
} else { |
|
# Internal, Kerberos, and Local authentication are for users |
} |
# who do not have unix accounts on the system. Therefore we |
elsif ($authentication eq "internal") { # Internal authentication. |
# will give ownership of their public_html directories to www:www |
|
&System("/bin/chown -R www:www ".$fulldir); |
&System("/bin/chown -R www:www $fulldir"); |
|
} |
|
elsif ($authentication eq "krb4") { # Kerberos version 4 authentication |
|
&System("/bin/chwon -R $username".':'.$username." ".$fulldir); |
|
&JoinGroup($username); |
|
} |
|
elsif ($authentication eq "localauth") { # Local authentiation |
|
&System("/bin/chown -R $username".':'.$username." $fulldir"); |
|
} |
|
else { |
|
if($DEBUG) { |
|
print("Authentication not legal".$authentication); |
|
} |
|
&DisableRoot; |
|
exit 5; |
|
|
|
} |
} |
&DisableRoot; |
&DisableRoot; |
|
|
Line 254 exit 0;
|
Line 238 exit 0;
|
|
|
sub EnableRoot { |
sub EnableRoot { |
if ($wwwid==$>) { |
if ($wwwid==$>) { |
|
print ("EnableRoot $< $>\n"); |
($<,$>)=($>,$<); |
($<,$>)=($>,$<); |
($(,$))=($),$(); |
($(,$))=($),$(); |
} |
} |
Line 261 sub EnableRoot {
|
Line 246 sub EnableRoot {
|
# root capability is already enabled |
# root capability is already enabled |
} |
} |
if($DEBUG) { |
if($DEBUG) { |
print("Enable Root - id = $> \n"); |
print("Enable Root - id = $> $<\n"); |
} |
} |
return $>; |
return $>; |
} |
} |