diff options
-rw-r--r-- | Users/Groups.pm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Users/Groups.pm b/Users/Groups.pm index ba674e1..58ccef3 100644 --- a/Users/Groups.pm +++ b/Users/Groups.pm @@ -137,25 +137,32 @@ sub add_group $u = $$group[$USERS]; + # max value means default UID or GID here + $real_gid = ($$group[$GID] != 0xFFFFFFFF); + if ($Utils::Backend::tool{"system"} eq "FreeBSD") { @users = sort @$u; - + + @command = ($cmd_pw, "groupadd", "-n", $$group[$LOGIN], - "-g", $$group[$GID], "-M", @users); + push (@command, ("-g", $$group[$GID])) if $real_gid; + &Utils::File::run (@command); } else { if ($cmd_addgroup) { - @command = ($cmd_addgroup, "--gid", $$group[$GID], $$group[$LOGIN]); + @command = ($cmd_addgroup, $$group[$LOGIN]); + push (@command, ("--gid", $$group[$GID])) if $real_gid; } else { - @command = ($cmd_groupadd, "-g", $$group[$GID], $$group[$LOGIN]); + @command = ($cmd_groupadd, $$group[$LOGIN]); + push (@command, ("-g", $$group[$GID])) if $real_gid; } &Utils::File::run (@command); |