--- loncom/Attic/lcuseradd 2004/09/02 19:04:00 1.30 +++ loncom/Attic/lcuseradd 2004/10/18 10:43:39 1.31 @@ -6,7 +6,7 @@ # with adding a user with filesystem privileges (e.g. author) # # -# $Id: lcuseradd,v 1.30 2004/09/02 19:04:00 albertel Exp $ +# $Id: lcuseradd,v 1.31 2004/10/18 10:43:39 foxr Exp $ ### ############################################################################### @@ -214,13 +214,20 @@ if($error_file) { } -# -- Only add user if we can create a brand new home directory (/home/username) -if (-e "/home/$safeusername") { - print "Error. User already exists.\n" unless $noprint; +# -- Only add the user if they are >not< in /etc/passwd. +# Used to look for the ability to create a new directory for the +# user, however that disallows authentication changes from i +# internal->fs.. so just check the passwd file instead. +# +my $not_found = system("grep -q $safeusername: /etc/passwd"); +if (!$not_found) { + print "Error user already exists\n" unless $noprint; unlink('/tmp/lock_lcpasswd'); &Exit(11); } + + # -- Only add user if the two password arguments match. if ($password1 ne $password2) {