(หมายเหตุ: groups
คำสั่งแม้ว่าจะยังมีประโยชน์ แต่ส่วนใหญ่จะถูกแทนที่ด้วยคำสั่ง id )
ผู้ใช้มีกลุ่มหลักที่กำหนดไว้ตามธรรมเนียมในไฟล์
/etc/passwd
ไฟล์ที่เขาเข้าสู่ระบบ แต่วันนี้อาจมีแหล่งข้อมูลอื่น เขาอาจเป็นสมาชิกของกลุ่มเพิ่มเติมที่รู้จักกันในชื่อกลุ่มรองหรือกลุ่มเสริมตามธรรมเนียมที่ระบุไว้ในไฟล์/etc/groups
แต่วันนี้สามารถมาจากหรือถูกบอกเป็นนัยโดยแหล่งที่มาเพิ่มเติม (เช่น NIS, LDAP, SAMBA เป็นต้น)
กลุ่มหลักและบัตรเสริมจะมีการกำหนดช่วงเวลาของการเข้าสู่ระบบและยังคงอยู่ในปัจจุบัน อย่างไรก็ตามผู้ใช้สามารถเปลี่ยนแปลงกลุ่มหลักที่ใช้งานอยู่ในปัจจุบันได้ตลอดเวลา
โดยใช้newgrp
คำสั่ง
กระบวนการล็อกอินตั้งค่ากลุ่มหลักและกลุ่มเสริม สำหรับในภายหลังโดยทั่วไปจะเรียกใช้ฟังก์ชัน libc
กลุ่มเริ่มต้นซึ่งรวบรวมรายการข้อมูลกลุ่มเสริมและส่งต่อไปยัง
ฟังก์ชันsetgroupsซึ่งกำหนดไว้ในบริบทของกระบวนการ
แหล่งข้อมูลสำหรับinitgroups
:
ใช้โดยไลบรารี GNU C และแอปพลิเคชันอื่น ๆ เพื่อกำหนดแหล่งที่มาเพื่อรับข้อมูลชื่อบริการในช่วงของหมวดหมู่และในลำดับใด ข้อมูลแต่ละหมวดหมู่จะถูกระบุด้วยชื่อฐานข้อมูล
groups
คำสั่งแสดงให้เห็นว่ากลุ่มตามที่นำมาใช้ในขณะนี้ให้กับผู้ใช้ของคุณและรายการที่จะเริ่มต้นด้วยกลุ่มหลักในปัจจุบันตามด้วยกลุ่มเสริมจากเวลาของการเข้าสู่ระบบ การเปลี่ยนแปลงใด ๆ กับแหล่งที่มาของข้อมูลจากหลังจากเวลาล็อกอินจะไม่ปรากฏในรายการที่แสดง
groups username
คำสั่งจะขอ Linux เพื่อคำนวณกลุ่มสำหรับผู้ใช้ซึ่งจะทำโดยใช้หลักไฟล์/etc/password
และ/etc/groups
แล้วแหล่งที่มาเพิ่มเติม สิ่งนี้จะสะท้อนถึงสถานการณ์ปัจจุบันของไฟล์ระบบและอาจไม่เท่ากับกลุ่มปัจจุบันที่ยังคงมีผลตั้งแต่เวลาเข้าสู่ระบบ
groups username
คำสั่งอาจจะให้ผลที่แตกต่างกันเมื่อมันไม่ได้ใช้แหล่งที่มาทั้งหมดที่กระบวนการเข้าสู่ระบบที่ใช้ในการคำนวณกลุ่มเสริมของคุณซึ่งเป็นสิ่งที่เห็นได้ชัดว่าเกิดขึ้นในกรณีของคุณ แหล่งข้อมูลเหล่านี้อาจไม่สามารถเข้าถึงได้จากการเข้าสู่ระบบของคุณหรืออาจไม่ได้รับคำปรึกษาจากคำสั่ง
การใช้id username
คำสั่งอาจให้ผลลัพธ์ที่ดีกว่าแม้ว่าจะไม่รับประกันว่าจะสมบูรณ์เหมือนกระบวนการล็อกอิน id
คำสั่งที่ผ่านมามากกว่าและก็ตั้งใจจะแม่นยำมากขึ้นกว่าเก่าgroups
คำสั่ง
ในขณะที่groups
คำสั่งให้ผลลัพธ์ที่แม่นยำและถูกต้องคุณได้แสดงให้เห็นว่าgroups username
คำสั่งไม่สามารถขึ้นอยู่กับการทำเช่นเดียวกัน
หากไม่มีการตรวจสอบซอร์สโค้ดของgroups
คำสั่งฉันจะเดาว่าการดำเนินการตามgroups username
คำสั่งในการวิเคราะห์การกระจาย Linux ของคุณ/etc/groups
ซึ่งในกรณีของคุณไม่มีอะไร แต่ไม่ได้ใช้/etc/nsswitch.conf
ซึ่งกลุ่มเสริมทั้งหมดของคุณเข้ามา ดังนั้นจะแสดงรายการเฉพาะชื่อกลุ่มหลัก
jacob
.
สำหรับข้อมูลเพิ่มเติมดู: