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 を引きます。最終的に、ユーザーが属するグループの合計数がわかります。