Pass the -m flag to pw so that user home directories are created. Also,

pass -r to pw when removing user accounts.

PR:		112219
Submitted by:	Sergio Lenzi <lenzi@k1.com.br>
This commit is contained in:
Joe Marcus Clarke
2007-04-29 05:29:45 +00:00
parent 6418e65253
commit 8fa633153d
2 changed files with 48 additions and 1 deletions

View File

@@ -8,7 +8,7 @@
PORTNAME= system-tools-backends
PORTVERSION= 2.2.1
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= sysutils gnome
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}

View File

@@ -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];