53
53
if ($Utils::Backend::tool{"system"} eq "FreeBSD")
55
$command = "$cmd_pw groupdel -n \'" . $$group[$LOGIN] . "\'";
55
@command = ($cmd_pw, "groupdel", "-n", $$group[$LOGIN]);
59
$command = ($cmd_delgroup) ? $cmd_delgroup : $cmd_groupdel;
60
$command .= " \'" . $$group[$LOGIN] . "\'";
59
@command = (($cmd_delgroup) ? $cmd_delgroup : $cmd_groupdel,
63
&Utils::File::run ($command);
63
&Utils::File::run (@command);
66
66
# This is only for Linux and SunOS,
87
$command = "$cmd_usermod -G $groups $user";
87
@command = ($cmd_usermod, "-G", $groups, $user);
91
$command = "$cmd_gpasswd -a \'" . $user . "\' " . $group;
91
@command = ($cmd_gpasswd, "-a", $user, $group);
94
&Utils::File::run ($command);
94
&Utils::File::run (@command);
97
97
# This is only for Linux and SunOS,
99
99
sub delete_user_from_group
101
101
my ($group, $user) = @_;
104
104
if ($Utils::Backend::tool{"system"} eq "SunOS")
106
my ($groups, @groups_arr);
108
108
$groups = &Utils::File::run_backtick ("groups $user");
109
109
$groups =~ s/.*://;
112
112
# delete the user
113
113
$groups =~ s/[ \t]+$group//;
115
@arr = split (/ /, $groups);
116
$groups = join (',', @arr);
115
@groups_arr = split (/ /, $groups);
120
$command = "$cmd_usermod -G $groups $user";
117
@command = ($cmd_usermod, "-G", @groups_arr, $user);
124
$command = "$cmd_gpasswd -d \'" . $user . "\' \'" . $group . "\'";
121
@command = ($cmd_gpasswd, "-d", $user, $group);
127
&Utils::File::run ($command);
124
&Utils::File::run (@command);
132
129
my ($group) = @_;
133
my ($u, $user, $users);
130
my ($u, $user, @users);
135
132
$u = $$group[$USERS];
137
134
if ($Utils::Backend::tool{"system"} eq "FreeBSD")
139
$users = join (",", sort @$u);
141
$command = "$cmd_pw groupadd -n \'" . $$group[$LOGIN] .
142
"\' -g \'" . $$group[$GID] .
143
"\' -M \'" . $users . "\'";
138
@command = ($cmd_pw, "groupadd", "-n", $$group[$LOGIN],
145
&Utils::File::run ($command);
142
&Utils::File::run (@command);
149
146
if ($cmd_addgroup)
151
$command = "$cmd_addgroup " .
152
"--gid \'" . $$group[$GID] . "\' " . $$group[$LOGIN];
148
@command = ($cmd_addgroup, "--gid", $$group[$GID], $$group[$LOGIN]);
156
$command = "$cmd_groupadd -g \'" . $$group[$GID] .
157
"\' " . $$group[$LOGIN];
152
@command = ($cmd_groupadd, "-g", $$group[$GID], $$group[$LOGIN]);
160
&Utils::File::run ($command);
155
&Utils::File::run (@command);
162
157
foreach $user (sort @$u)
178
173
$users_arr = $$new_group[$USERS];
179
174
$str = join (",", sort @$users_arr);
181
$command = "$cmd_pw groupmod -n \'" . $$old_group[$LOGIN] .
182
"\' -g \'" . $$new_group[$GID] .
183
"\' -l \'" . $$new_group[$LOGIN] .
184
"\' -M \'" . $str . "\'";
176
@command = ($cmd_pw, "groupmod", "-n", $$old_group[$LOGIN],
177
"-g", $$new_group[$GID],
178
"-l", $$new_group[$LOGIN],
186
&Utils::File::run ($command);
181
&Utils::File::run (@command);
190
$command = "$cmd_groupmod -g \'" . $$new_group[$GID] .
191
"\' -n \'" . $$new_group[$LOGIN] . "\' " .
192
"\'" . $$old_group[$LOGIN] . "\'";
185
@command = ($cmd_groupmod, "-g", $$new_group[$GID],
186
"-n", $$new_group[$LOGIN],
187
$$old_group[$LOGIN]);
194
&Utils::File::run ($command);
189
&Utils::File::run (@command);
196
191
# Let's see if the users that compose the group have changed.
197
192
if (!Utils::Util::struct_eq ($$new_group[$USERS], $$old_group[$USERS]))