version 1.28, 2004/08/06 10:29:37
|
version 1.34, 2005/01/26 12:13:58
|
Line 214 if($error_file) {
|
Line 214 if($error_file) {
|
} |
} |
|
|
|
|
# -- Only add user if we can create a brand new home directory (/home/username) |
# -- Only add the user if they are >not< in /etc/passwd. |
if (-e "/home/$safeusername") { |
# Used to look for the ability to create a new directory for the |
print "Error. User already exists.\n" unless $noprint; |
# user, however that disallows authentication changes from i |
|
# internal->fs.. so just check the passwd file instead. |
|
# |
|
my $not_found = system("cut -d: -f1 /etc/passwd | grep -q \"^$safeusername\$\" "); |
|
if (!$not_found) { |
|
print "Error user already exists\n" unless $noprint; |
unlink('/tmp/lock_lcpasswd'); |
unlink('/tmp/lock_lcpasswd'); |
&Exit(11); |
&Exit(11); |
} |
} |
|
|
|
|
|
|
# -- Only add user if the two password arguments match. |
# -- Only add user if the two password arguments match. |
|
|
if ($password1 ne $password2) { |
if ($password1 ne $password2) { |
Line 248 print "Done adding user\n" unless $nopri
|
Line 255 print "Done adding user\n" unless $nopri
|
# 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); |
# untaint |
# untaint |
my ($safegroups)=($groups=~/([\s\w]+)/); |
my ($safegroups)=($groups=~/:\s*([\s\w]+)/); |
$groups=$safegroups; |
$groups=$safegroups; |
chomp $groups; $groups=~s/^\S+\s+\:\s+//; |
chomp $groups; $groups=~s/^\S+\s+\:\s+//; |
my @grouplist=split(/\s+/,$groups); |
my @grouplist=split(/\s+/,$groups); |
Line 307 print OUT<<END;
|
Line 314 print OUT<<END;
|
</html> |
</html> |
END |
END |
close OUT; |
close OUT; |
|
system('/bin/chmod','0660', "/home/$safeusername/public_html/index.html"); |
|
# |
|
# In order to allow the loncapa daemons appropriate access |
|
# to public_html, Top level and public_html directories should |
|
# be owned by safeusername:safeusername as should the smaple index.html.. |
print "lcuseradd ownership\n" unless $noprint; |
print "lcuseradd ownership\n" unless $noprint; |
system('/bin/chown','-R',"$safeusername:$safeusername","/home/$safeusername"); |
system('/bin/chown','-R',"$safeusername:$safeusername","/home/$safeusername"); # First set std ownership on everything. |
|
# system('/bin/chown',"$safeusername:www","/home/$safeusername"); # Now adust top level... |
|
# system('/bin/chown','-R',"$safeusername:www","/home/$safeusername/public_html"); # And web dir. |
# ---------------------------------------------------- Gracefull Apache Restart |
# ---------------------------------------------------- Gracefull Apache Restart |
if (-e '/var/run/httpd.pid') { |
if (-e '/var/run/httpd.pid') { |
print "lcuseradd Apache restart\n" unless $noprint; |
print "lcuseradd Apache restart\n" unless $noprint; |
open(PID,'/var/run/httpd.pid'); |
open(PID,'/var/run/httpd.pid'); |
my $pid=<PID>; |
my $pid=<PID>; |
close(PID); |
close(PID); |
my ($safepid)=($pid=~s/(\D+)//g); |
my ($safepid)= $pid=~ /(\D+)/; |
if ($pid) { |
if ($pid) { |
system('kill','-USR1',"$safepid"); |
system('kill','-USR1',"$safepid"); |
} |
} |