วิธีแสดงรายการกลุ่มใน Linux

คำแนะนำเกี่ยวกับคำสั่งและเทคนิคต่างๆ ใน ​​Linux เพื่อแสดงรายการกลุ่ม

ในระบบนิเวศของลินุกซ์ กลุ่มผู้ใช้เรียกว่า 'กลุ่ม' เมื่อมีการเพิ่มผู้ใช้ในกลุ่ม เรากำลังกำหนดสิทธิ์ของผู้ใช้ Linux กลุ่มยังกำหนดไฟล์ การตั้งค่า และโฟลเดอร์ที่ผู้ใช้ควรเข้าถึง

ในแง่ที่ง่ายที่สุด กลุ่มช่วยให้คุณค้นหาและกำหนดสิทธิ์เช่นอ่าน (r), เขียน (w) และดำเนินการ (x) บนทรัพยากรที่ใช้ร่วมกันระหว่างผู้ใช้ คุณยังสามารถแก้ไขการอนุญาตเหล่านี้ได้ตามต้องการ

การค้นหากลุ่มที่เป็นเจ้าของบัญชีผู้ใช้จะช่วยให้คุณเรียนรู้เกี่ยวกับการอนุญาตที่ผู้ใช้แต่ละคนมี และยังเปลี่ยนการอนุญาตเมื่อจำเป็น

บทแนะนำสั้นๆ นี้จะช่วยคุณค้นหากลุ่มที่ผู้ใช้เป็นสมาชิกโดยใช้คำสั่งและเทคนิคง่ายๆ

ข้อกำหนดเบื้องต้นที่สำคัญ

ก่อนที่จะลงลึกในบทช่วยสอน คุณควรมีภาพรวมพื้นฐานของแนวคิดบางอย่างก่อนจะเป็นประโยชน์ ฉันขอแนะนำให้ผู้เริ่มต้นอ่านแนวคิดเหล่านี้ก่อน

กลุ่ม: กลุ่มผู้ใช้บนระบบลินุกซ์ ผู้ใช้คนเดียวสามารถเป็นสมาชิกของกลุ่มได้มากกว่าหนึ่งกลุ่ม กลุ่มกำหนดสิทธิ์ที่ผู้ใช้มี

กลุ่มหลัก: กลุ่มหลักคือกลุ่มหลักที่เชื่อมโยงกับบัญชีผู้ใช้ ผู้ใช้แต่ละคนจะต้องเป็นสมาชิกของกลุ่มหลักกลุ่มเดียว มันถูกสร้างขึ้นพร้อมกับสร้างบัญชีผู้ใช้และผู้ใช้จะถูกเพิ่มในกลุ่มนี้โดยอัตโนมัติ โดยปกติชื่อของกลุ่มหลักจะเหมือนกับชื่อของผู้ใช้

กลุ่มรอง:กลุ่มรองเป็นทางเลือก และผู้ใช้อาจมีหรือไม่มีกลุ่มรอง ใช้เพื่อมอบสิทธิ์เพิ่มเติมบางอย่างแก่ผู้ใช้ ผู้ใช้สามารถเป็นสมาชิกของกลุ่มรองได้หลายกลุ่ม

/etc/group ไฟล์: ใน Linux การเป็นสมาชิกกลุ่มจะถูกควบคุมโดย /etc/group ไฟล์. เป็นไฟล์ข้อความธรรมดาที่มีรายชื่อกลุ่มและผู้ใช้ที่เป็นของแต่ละกลุ่ม

/etc/passwd ไฟล์: ไฟล์นี้มีข้อมูลสำหรับบัญชีผู้ใช้ทั้งหมดในระบบ มีรายการของบัญชีผู้ใช้หนึ่งรายการต่อบรรทัดที่แสดงในไฟล์นี้

ใช้ กลุ่ม สั่งการ

ใช้ กลุ่ม คำสั่งเป็นกระบวนการที่ง่ายมากในการแสดงรายการกลุ่มที่ผู้ใช้ปัจจุบันเป็นสมาชิก คุณยังสามารถใช้คำสั่งนี้เพื่อแสดงรายการกลุ่มของผู้ใช้เฉพาะที่ลงทะเบียนกับระบบ

ไวยากรณ์:

กลุ่ม

เอาท์พุท:

gaurav@ubuntu:~$ กลุ่ม gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$

การค้นหากลุ่มผู้ใช้เฉพาะ

ไวยากรณ์:

กลุ่ม [ชื่อผู้ใช้]

ตัวอย่าง:

gaurav@ubuntu:~$ กลุ่ม tomcat tomcat : tomcat lpadmin sambashare gaurav@ubuntu:~$ 

ในตัวอย่างนี้ ฉันได้ระบุกลุ่มที่ผู้ใช้ตั้งชื่อว่า แมวตัวผู้ เป็นของ

ใช้ id สั่งการ

ใช้ id คำสั่งแสดงข้อมูลกลุ่มของผู้ใช้ มันแสดงพารามิเตอร์เช่น uid (รหัสผู้ใช้), gid (รหัสกลุ่ม) และรายชื่อกลุ่มที่ผู้ใช้เป็นสมาชิก

ไวยากรณ์:

ไอดี [ชื่อผู้ใช้]

ตัวอย่าง:

gaurav@ubuntu:~$ id tomcat uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare) gaurav@ubuntu:~$

id คำสั่งเมื่อใช้โดยไม่มีอาร์กิวเมนต์ส่งคืนข้อมูลกลุ่มเกี่ยวกับผู้ใช้ปัจจุบัน

ตัวอย่าง:

gaurav@ubuntu:~$ id uid=1000(gaurav) gid=1000(gaurav) groups=1000(gaurav),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev) ,113(lpadmin),128(sambashare) gaurav@ubuntu:~$

ที่นี่ข้อมูลกลุ่มของผู้ใช้ปัจจุบันจะปรากฏขึ้น

การใช้ไฟล์ /etc/group

ตามที่กล่าวไว้ในบล็อกข้อกำหนดเบื้องต้น เรารู้ว่า /etc/group ไฟล์มีข้อมูลทั้งหมดของกลุ่มที่มีอยู่ในระบบ เราสามารถใช้ไฟล์นี้เพื่อดูรายชื่อกลุ่มโดยใช้คำสั่งง่ายๆ ดังนี้

คุณสามารถใช้ได้ แมว, น้อย หรือ grep คำสั่งแสดงรายการเปิดเนื้อหาของไฟล์นี้

น้อยกว่า /etc/group

เอาท์พุท:

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: ดิสก์:x:6: lp:x:7 : mail:x:8: news:x:9: uucp:x:10: man:x:12: proxy:x:13: kmem:x:15: dialout:x:20: fax:x:21: voice :x:22: cdrom:x:24:gaurav floppy:x:25: เทป:x:26: sudo:x:27:gaurav เสียง:x:29:pulse dip:x:30:gaurav,batman www-data :x:33:

ซึ่งจะแสดงรายการกลุ่มทั้งหมดบนระบบ Linux

รายชื่อกลุ่มทั้งหมดโดยใช้ getent สั่งการ

getent คำสั่งสามารถใช้เพื่อแสดงรายการกลุ่มที่มีอยู่ทั้งหมดบนระบบ Linux ของคุณ ผลลัพธ์จะคล้ายกับเนื้อหาของ /etc/group ไฟล์.

โดยใช้ รับกลุ่ม คำสั่งแสดงรายการจากฐานข้อมูลที่กำหนดค่าใน /etc/nsswitch.conf ไฟล์.

ไวยากรณ์:

รับกลุ่ม

ตัวอย่าง:

gaurav@ubuntu:~$ getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x :6: lp:x:7: mse dip:x:30:gaurav,batman :x:39: stmp:x:43: video:x:44: sasl:x:45: plugdev:x:46:gaurav staff :x:50: เกม:x:60: ผู้ใช้:x:100: 106: crontab:x:107: vahi:x:120: bluetooth:x:121: scanner:x:122:saned colourd:x:123: ชีพจร:x:124: การเข้าถึงชีพจร:x:125: rtkit:x:126: ปกติ:x:127: ทรินิตี้:x:1000: sambashare:x:128:gaurav mongodb:x:130:mongodb guest-tqrhc7: x:999: guest-piinii:x:998: scala:x:997: sbt:x:996: guest-oi9xaf:x:995: tomcat:x:1001: tomcat7:x:132: tomcat8:x:133: geoclue:x:105: gdm:x:134: mysql:x:129: couchdb:x:131: ชั่วคราว:x:1002:

สำหรับการค้นหากลุ่มของผู้ใช้เฉพาะ ให้ใช้คำสั่งต่อไปนี้

getent group | grep [ชื่อผู้ใช้]

ตัวอย่าง:

gaurav@ubuntu:~$ getent group | grep gaurav adm:x:4:syslog,gaurav cdrom:x:24:gaurav sudo:x:27:gaurav dip:x:30:gaurav,batman plugdev:x:46:gaurav lpadmin:x:113:gaurav gaurav: x:1000: sambashare:x:128:gaurav gaurav@ubuntu:~$ 

ขณะนี้กลุ่มทั้งหมดที่เกี่ยวข้องกับ gaurav ผู้ใช้แสดงอยู่บนเทอร์มินัลแล้ว

โดยใช้ libuser-ฝา สั่งการ

libuser-ฝา คำสั่งแสดงข้อมูลเกี่ยวกับกลุ่มที่มีชื่อผู้ใช้หรือผู้ใช้ที่อยู่ในชื่อกลุ่ม

บันทึก:คำสั่งนี้ต้องการ sudo สิทธิพิเศษ มิฉะนั้นคุณจะพบข้อผิดพลาดดังต่อไปนี้ -

ไม่ได้ระบุชื่อผู้ใช้

เกิดข้อผิดพลาดในการเริ่มต้น libuser: ไม่ดำเนินการด้วยสิทธิ์ superuser

ในกรณีถ้า libuser-ฝา ยูทิลิตี้ไม่พร้อมใช้งานบน distros ของคุณ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อติดตั้ง

สำหรับ อูบุนตู และ เดเบียน ผู้ใช้:

sudo apt-get update
sudo apt-get ติดตั้ง libuser

สำหรับ CentOS, Fedora และ distros อื่น ๆ :

sudo yum ติดตั้ง libuser

ไวยากรณ์:

sudo libuser-lid [ชื่อผู้ใช้]

ตัวอย่าง:

gaurav@ubuntu:~$ sudo libuser-lid gaurav 

เอาท์พุท:

adm(gid=4) cdrom(gid=24) sudo(gid=27) dip(gid=30) plugdev(gid=46) lpadmin(gid=113) trinity(gid=1000) sambashare(gid=128)

ที่นี่ กลุ่มทั้งหมดจะแสดงรายการที่เกี่ยวข้องกับชื่อผู้ใช้ที่ป้อน

บทสรุป

ในบทช่วยสอนแสนง่ายนี้ ตอนนี้เราได้เรียนรู้การแสดงกลุ่มต่างๆ ที่พร้อมใช้งานบนระบบ Linux แล้ว คำสั่งที่อธิบายในบทช่วยสอนนี้สามารถใช้ได้กับลีนุกซ์ทุกรุ่นในลักษณะเดียวกัน