Unix / Linuxでは、コマンドラインを使用して、特定のユーザーがどのグループに属しているかをどのように確認しますか?
@iconoclast:/ etc / passwdのグループに属するユーザーはリストされません。
—
user2284570
Unix / Linuxでは、コマンドラインを使用して、特定のユーザーがどのグループに属しているかをどのように確認しますか?
回答:
これは、ユーザーのuidと、ユーザーが属しているすべてのグループ(およびGIID)を示しています
id userid
または、単に/ etc / groupsを調べます(LDAPでpamを使用している場合、これはおそらく機能しません)
以下は、CSS形式でansibleおよびgenerateダッシュボードに統合されているスクリプトです。
sh collection.sh
#!/bin/bash
HOSTNAME=`hostname -s`
for i in `cat /etc/passwd| grep -vE "nologin|shutd|hal|sync|root|false"|awk -F':' '{print$1}' | sed 's/[[:space:]]/,/g'`; do groups $i; done|sed s/\:/\,/g|tr -d ' '|sed -e "s/^/$HOSTNAME,/"> /tmp/"$HOSTNAME"_inventory.txt
sudo cat /etc/sudoers| grep -v "^#"|awk '{print $1}'|grep -v Defaults|sed '/^$/d;s/[[:blank:]]//g'>/tmp/"$HOSTNAME"_sudo.txt
paste -d , /tmp/"$HOSTNAME"_inventory.txt /tmp/"$HOSTNAME"_sudo.txt|sed 's/,[[:blank:]]*$//g' >/tmp/"$HOSTNAME"_inventory_users.txt
以下のテキストファイルに保存されている私の出力。
cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt
getent group <groupname>
。