วิธีการแสดงรายการกลุ่มที่มี gid ใน redhat?


41

ฉันแสดงรายการกลุ่มโดยใช้:

groups 

ฉันเพิ่มกลุ่มโดยใช้

groupadd -g 300 oinstall
groupadd –g 500 dba

และเมื่อฉันทำ

groups 
root bin daemon sys adm disk wheel sfcb

ฉันไม่พบกลุ่มที่ฉันเพิ่ม จะแสดงรายการกลุ่มที่มีรหัสกลุ่มได้อย่างไร นอกจากนี้ถ้าฉันพยายามที่จะเพิ่มอีกครั้งมันบอกว่ากลุ่มมีอยู่แล้ว

คำตอบ:


66

groupsกลุ่มรายการคำสั่งที่ผู้ใช้ปัจจุบันเป็นสมาชิกของไม่ได้ทุกกลุ่มที่มีอยู่ในระบบ คุณสามารถค้นหากลุ่มตามชื่อหรือ gid โดยใช้getentคำสั่ง

getent group oinstall
getent group 500

หากต้องการแสดงกลุ่มทั้งหมดเพียงปล่อยให้คำค้นหาของคุณไม่อยู่ในคำสั่ง:

getent group

2
@ Kitex เพราะคุณสร้างกลุ่ม แต่คุณไม่ได้เป็นสมาชิกของกลุ่ม คุณต้องเพิ่มผู้ใช้ของคุณในกลุ่มจากนั้นออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อให้ปรากฏขึ้นพร้อมกับgroupsคำสั่ง
จอร์แดน

1
@ kitex ฉันอัปเดตเป็นถ้อยคำเล็กน้อยหวังว่าจะช่วยให้คุณเข้าใจ
jordanm

2
@Kitex อัปเดตคำตอบ
jordanm

3
@kinkajou ประสบการณ์ระดับมืออาชีพมากมายรวมถึงเวลาที่ใช้ไปกับเว็บไซต์เช่นนี้และการสนับสนุน IRC Linux ฉันเป็นมืออาชีพและมีความกระตือรือร้นประมาณ 8 ปี ฉันคิดว่าการเป็นคนที่กระตือรือร้นเป็นส่วนสำคัญเพราะคุณมีแนวโน้มที่จะจำสิ่งต่าง ๆ ที่คุณสนใจ
จอร์แดน

1
@ kinkajou ฉันใช้ Gnu / Linux สำหรับการคำนวณทั้งหมดที่บ้าน เดสก์ท็อปแล็ปท็อปราสเบอร์รี่ ฉันใช้มันมาตั้งแต่ปี 1991 (แต่เดิมเป็น Gnu บน Solaris, Dec, HP) ฉันเพิ่มความรู้ของฉันไปเรื่อย ๆ ไม่จำเป็นต้องผ่านมันไปและเริ่มใหม่อีกครั้ง (เช่นเดียวกับ Windows ของ Microsoft)
ctrl-alt-delor

9

คุณสามารถแสดงรายการกลุ่มโดยใช้getentหรือไม่แสดงก็ได้/etc/group

เมื่อรันคำสั่ง GID จะเป็นค่าที่สามในผลลัพธ์เช่น:

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

ดังนั้นในรายการชื่อกลุ่มและ GID ของพวกเขาเท่านั้นให้ใช้awkพิมพ์คอลัมน์ที่คุณต้องการเช่นนี้:

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

ดูเพิ่มเติมที่http://man7.org/linux/man-pages/man1/getent.1.html

ในกรณีที่getentไม่มีอยู่

$ grep $group /etc/group

GID คือค่าที่ 3 ในเอาต์พุต เช่น

$ grep users /etc/group
users:x:100:

ในข้างต้น GID สำหรับผู้ใช้กลุ่มคือ 100 หากต้องการรับชื่อกลุ่มและ GID เท่านั้นคุณสามารถใช้ awk และ grep ดังนี้:

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

โปรดทราบว่าสำหรับระบบที่ตั้งค่าให้ใช้การรับรองความถูกต้องภายนอก (เช่น LDAP) กลุ่มทั้งหมดจะไม่ปรากฏในไฟล์ / etc / group ดูเพิ่มเติมที่http://www.cyberciti.biz/faq/understanding-etcgroup-file/


6
/etc/groupกลุ่มจะไม่เก็บไว้เสมอใน พวกเขาสามารถเก็บไว้ใน NIS, LDAP และอื่น ๆ
jordanm

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