diff options
Diffstat (limited to 'sysutils/system-tools-backends/files/patch-Users_Users.pm')
-rw-r--r-- | sysutils/system-tools-backends/files/patch-Users_Users.pm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/sysutils/system-tools-backends/files/patch-Users_Users.pm b/sysutils/system-tools-backends/files/patch-Users_Users.pm new file mode 100644 index 000000000..5e2598972 --- /dev/null +++ b/sysutils/system-tools-backends/files/patch-Users_Users.pm @@ -0,0 +1,47 @@ +--- Users/Users.pm.orig Thu Oct 5 09:27:21 2006 ++++ Users/Users.pm Sun Apr 22 23:05:41 2007 +@@ -458,7 +458,7 @@ + + if ($Utils::Backend::tool{"system"} eq "FreeBSD") + { +- $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' "; ++ $command = "$cmd_pw userdel -n \'" . $$user[$LOGIN] . "\' -r "; + } + else + { +@@ -538,10 +538,10 @@ + { + my $pwdpipe; + my $home; ++ my $user; + +- # FreeBSD doesn't create the home directory + $home = $$user[$HOME]; +- &Utils::File::run ("$tool_mkdir -p $home"); ++ $user = $$user[$LOGIN]; + + $command = "$cmd_pw useradd " . + " -n \'" . $$user[$LOGIN] . "\'" . +@@ -549,11 +549,12 @@ + " -d \'" . $$user[$HOME] . "\'" . + " -g \'" . $$user[$GID] . "\'" . + " -s \'" . $$user[$SHELL] . "\'" . +- " -H 0"; # pw(8) reads password from STDIN ++ " -m -h 0"; # pw(8) reads password from STDIN + + $pwdpipe = &Utils::File::run_pipe_write ($command); + print $pwdpipe $$user[$PASSWD]; + &Utils::File::close_file ($pwdpipe); ++ &Utils::File::run ("chown -R $user $home"); + } + elsif ($Utils::Backend::tool{"system"} eq "SunOS") + { +@@ -629,7 +630,7 @@ + " -d \'" . $$new_user[$HOME] . "\'" . + " -g \'" . $$new_user[$GID] . "\'" . + " -s \'" . $$new_user[$SHELL] . "\'" . +- " -H 0"; # pw(8) reads password from STDIN ++ " -h 0"; # pw(8) reads password from STDIN + + $pwdpipe = &Utils::File::run_pipe_write ($command); + print $pwdpipe $$new_user[$PASSWD]; |