次のプライマリグループとセカンダリグループを持つユーザーがいます。
[ testuser Welcome ~ ]$ id
uid=2000(testuser) gid=2000(testuser) groups=2000(testuser),27(sudo),2001(testgroup)
プライマリグループはでtestuser
、セカンダリグループはですtestgroup
。
次に、次のコマンドを使用して、このユーザーに別のセカンダリグループtestgroup2を追加しようとしています。
usermod -G testgroup2 testuser
ただし、古い補助グループ(testgroup
)を削除して新しい補助グループを追加します。私の必要性は、古い補助グループを削除せずに新しい補助グループを追加する必要があることです。
-a
Ubuntuから他のグループを削除せずにユーザーにグループをリンクするオプションがあることがわかりました。
SUSELinuxでも可能かどうか教えてください...?
ありがとうございます!
答え1
SLES11 SP3 では、usermod
pwdutils 3.2.15 のコマンドは、-A
目的の操作を実行するオプションをサポートします。
-A, --add-to-group group,...
With this option a list of groups can be specified, which the user should
become a member of. Each group is separated from the next one only by a comma,
without whitespace.
SLES12およびOpenSUSE 13.1のusermod
コマンド(より広く使用されているShadow-utils 4.1.5.1のコマンド)は、次の-a
オプションをサポートしています-G
。
-a, --append
Add the user to the supplemental group(s). Use only with -G option.
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of. Each group
is separated from the next by a comma, with no intervening whitespace.
If the user is currently a member of a group which is not listed, the user
will be removed from the group. This behaviour can be changed via the -a option,
which appends the user to the current supplementary group list.
答え2
追加できない場合usermod
(できなくても-A
)、現在のグループセットを追加してみてください。
usermod -G "$(groups testuser | sed 's/.*: //;s/ /,/g'),testgroup2" testuser
答え3
このコマンドを使用すると、前のグループを置き換えるすべてのグループのリストを指定できます。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option.
代わりに、以下を使用してくださいadduser
。
adduser [options] user group
adduser
ユーザーを追加したり、グループにユーザーを追加したりできます。
または@markplotnickが指摘したように、-a
次のオプションを使用します。usermod