version 1.35, 2005/01/27 11:52:46
|
version 1.37, 2005/06/21 10:58:38
|
Line 249 my $status = system('/usr/sbin/useradd',
|
Line 249 my $status = system('/usr/sbin/useradd',
|
if ($status) { |
if ($status) { |
print "Error. Something went wrong with the addition of user ". |
print "Error. Something went wrong with the addition of user ". |
"\"$safeusername\".\n" unless $noprint; |
"\"$safeusername\".\n" unless $noprint; |
print "Final status of useradd = $status"; |
print "Final status of useradd = $status\n"; |
unlink('/tmp/lock_lcpasswd'); |
unlink('/tmp/lock_lcpasswd'); |
&Exit(12); |
&Exit(12); |
} |
} |
|
my ($dmy1, $dmy2, $uid, $gid) = getpwnam($safeusername); |
|
my ($group) = getgrgid($gid); |
|
if (! $group) { |
|
print "Error. The primary group of user \"$safeusername\" could not be". |
|
"determined.\n" unless $noprint; |
|
system("/usr/sbin/userdel -r $safeusername"); |
|
unlink('/tmp/lock_lcpasswd'); |
|
&Exit(12); |
|
} |
|
if ($group != $safeusername) { |
|
$status = system("/usr/sbin/groupadd -g $uid $safeusername"); |
|
if (! $status) { |
|
$status = system("/usr/sbin/usermod -g $uid $safeusername"); |
|
if ($status) { |
|
system("/usr/sbin/groupdel $safeusername"); |
|
} |
|
} |
|
if ($status) { |
|
print "Error. Something went wrong with the addition of user ". |
|
"\"$safeusername\".\n" unless $noprint; |
|
system("/usr/sbin/userdel -r $safeusername"); |
|
unlink('/tmp/lock_lcpasswd'); |
|
&Exit(12); |
|
} |
|
} |
|
|
print "Done adding user\n" unless $noprint; |
print "Done adding user\n" unless $noprint; |
# Make www a member of that user group. |
# Make www a member of that user group. |
my $groups=`/usr/bin/groups www` or &Exit(6); |
my $groups=`/usr/bin/groups www` or &Exit(6); |
Line 454 sub set_public_html_permissions {
|
Line 480 sub set_public_html_permissions {
|
sub Exit { |
sub Exit { |
my ($code) = @_; # Status code. |
my ($code) = @_; # Status code. |
|
|
|
# TODO: Ensure the error file is owned/deletable by www:www: |
|
|
|
&disable_root_capability(); # We run unprivileged to write the error file. |
|
|
print "Exiting with status $code error file is $error_file\n" unless $noprint; |
print "Exiting with status $code error file is $error_file\n" unless $noprint; |
if($error_file) { |
if($error_file) { |
open(FH, ">$error_file"); |
open(FH, ">$error_file"); |