จะทราบได้อย่างไรว่ากลุ่มผู้ใช้ที่ได้รับมีอะไรบ้าง?


256

ใน Unix / Linux คุณจะรู้ได้อย่างไรว่ากลุ่มผู้ใช้ที่ให้ไว้นั้นอยู่ในกลุ่มใดผ่านทางบรรทัดคำสั่ง


23
getent group <groupname>ที่จะได้รับตรงข้ามเห็นผู้ที่อยู่ในกลุ่มที่กำหนดคุณสามารถใช้
iconoclast

1
@iconoclast: ซึ่งไม่แสดงรายชื่อผู้ใช้ที่อยู่ในกลุ่มใน / etc / passwd
user2284570

คำตอบ:



102

อันนี้แสดง uid ของผู้ใช้รวมถึงกลุ่มทั้งหมด (ที่มี gids) ที่อยู่

id userid

2
ดูเหมือนว่าจะมีประโยชน์เช่นกัน มันมีเอาต์พุต verbose มากกว่าคำสั่ง 'กลุ่ม' ดังนั้นหากคุณต้องการ ID กลุ่ม / ID ผู้ใช้ให้ใช้สิ่งนี้!
Alex Argo

นี่ควรเป็นคำตอบที่ถูกต้องและละเอียดที่สุดมี upvote!
ฮาร์วีย์หลิน

16

บน Linux / OS X / Unix เพื่อแสดงกลุ่มที่คุณ (หรือผู้ใช้ระบุหรือไม่ก็ได้) ให้ใช้:

id -Gn [user]

ซึ่งเทียบเท่ากับgroups [user]ยูทิลิตี้ที่ล้าสมัยบน Unix

บน OS X / Unix แนะนำให้ใช้คำสั่งid -p [user]สำหรับการโต้ตอบปกติ

คำอธิบายเกี่ยวกับพารามิเตอร์:

-G, --groups- พิมพ์รหัสของกลุ่มทั้งหมด

-n, --name- พิมพ์ชื่อแทนหมายเลขสำหรับ-ugG

-p - สร้างเอาต์พุตที่มนุษย์อ่านได้


0

หรือเพียงแค่ศึกษา / etc / groups (ตกลงนี่อาจไม่ทำงานหากใช้ pam กับ ldap)


7
แน่นอนว่าเป็นคำตอบที่ไม่ดี 'กลุ่ม getent' เป็นกลุ่มที่ดีกว่า
bortzmeyer

0

ด้านล่างเป็นสคริปต์ที่รวมเข้ากับ ansible และสร้างแดชบอร์ดในรูปแบบ CSV

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.