ユーザーに割り当てられたグループの数を見つける

ユーザーに割り当てられたグループの数を見つける

Linux でユーザーに割り当てられたグループの数を確認する方法はありますか?

 as of right now i have:
 foo : foo bar apple users

私が使用しているアプリは、ユーザーに「Appleユーザー」のグループを与えているかもしれませんが、私にはわかりません。

 groups foo | awk {print $6}

私は受け取った

 users

ユーザー数が何人いるか確認する方法がわかりません

答え1

groupsアカウントが属するグループのリストを返す ので、以下を使用できます。

groups | wc -w

は、wc -wによって返された単語の数をカウントしますgroups

答え2

groups コマンドは、出力にスペースが含まれるグループを考慮しません。そのため、名前にスペースが含まれるグループは、2 つの別々のグループと同じように出力されます。

私は次のようにします:

 grep "apple users" /etc/group

次のような結果が返されるはずです

 apple users:x:1010:fred,barney,dino

答え3

方法1:

foo : foo バー apple ユーザー (ユーザー名 -> foo)

実行 => lid foo | wc -l

出力: 4

方法2:

実行 => グループのユーザー名

出力: ユーザー名: ユーザー名 グループ1 グループ2

=> グループ ユーザー名 | wc -w | xargs -I % 式 % - 2

出力: 3 (ユーザーが所属するグループの数)

foo : foo バー Apple ユーザー

実行 => グループ foo | wc -w | xargs -I % expr % - 2

出力: 4

groups が返す単語の数を数え、得られた数に余分な「username」と「:」があるため、2 を引きます。最終的に、ユーザーが属するグループの合計数がわかります。

関連情報