SSHを使用して接続しようとしたときのユーザーグループの抽出

SSHを使用して接続しようとしたときのユーザーグループの抽出

テストを実行するためにユーザー名を抽出しました。 w | grep ^usera | wc -l

開いているセッションがある場合は1が表示されますが、useraユーザーグループを抽出するにはより一般的なユースケースが必要です。

例:ユーザーグループを抽出し、group=admingrp wc -ladminからアクティブセッションを持つユーザーの数を抽出します。

答え1

ユーザーが属するグループを確認できますid -Gn username

管理者の数を計算します。

who | cut -d ' ' -f 1 |
while read user; do
   id -Gn "$user"
done | grep -F -w "admin" | wc -l

これはwho、コマンドを使用してログインしたユーザーのリストを取得し、デフォルトのユーザー名を抽出し、cut各ユーザーに対してグループルックアップを実行します。次に、各グループをgrepして文字列を見つけ、admin結果を計算します。

または、管理者がログインしていることを確認して、逆方向にこれを実行します。

who $( awk -F':' '$1 ~ /^admin/ { gsub(",", " ", $4); print $4 }' /etc/group ) | wc -l

inコマンド置換は、awkグループに属するすべてのユーザーを出力し、adminそのwhoユーザーがログインしていることを確認します。次に、ここで出力された行数を計算します。

関連情報