使用すべき
usermod -G groupname username
ユーザーがグループに追加されるたびに。一行でこれを行う方法はありますか?
usermod -G groupname user1,user2,user3
答え1
evalでbash中括弧拡張を使用できます
eval 'usermod -aG groupname '{user1,user2,user3}';'
またはループコマンド
for i in user1 user2 user3; do usermod -aG groupname $i; done
注:-G
グループを接続するときにユーザーのグループを設定します。-aG
答え2
あなたはできます置く1 つのコマンドでグループのメンバーのリストを表示します。
gpasswd -M user1,user2,user3,... groupname
ただし、これを使用して追加するには、既存のリストをインポートする必要があります。
gpasswd -M "$(getent group groupname | awk -F: '$4 {print $4","}')"user1,user2,user3,... groupname
ただし、手動で使用または繰り返す方が簡単ですxargs
。
for u in user1 user2 ...
do
gpasswd -a "$u" groupname
done
または:
$ cat file
user1
user2
...
$ xargs -a file -n 1 gpasswd groupname -a