ทำไมผู้ดูแลระบบหลัก UID 501


11

ผมเข้าใจ * ผู้ใช้ผู้ดูแลระบบหลักจะได้รับรหัสผู้ใช้501และผู้ใช้ที่ตามมาจะได้รับหมายเลขที่เพิ่มขึ้น ( 502, 503, ... ) แต่ทำไม501? มีอะไรพิเศษเกี่ยวกับ50xเหตุผลทางประวัติศาสตร์ / ทางเทคนิคสำหรับตัวเลือกนี้คืออะไร

* .Trashes/501ผมเริ่มมองนี้เมื่อฉันได้อยากรู้ว่าทำไมฮาร์ดไดรฟ์ภายนอกของฉันมีไฟล์ที่อยู่ในถังขยะทั้งหมดภายใน การค้นหาของฉันทำให้ฉันสรุป501ได้ว่า ID ผู้ใช้สำหรับผู้ดูแลระบบหลักในระบบ * nix (ฉันอยู่บน macOS) แต่ไม่ใช่เพราะอะไร


7
ฉันคิดว่า UID ของผู้ดูแลระบบหลักคือ 0!
Jeff Schaller

คำตอบ:


21

ระบบ Unix หลายแห่งเริ่มแจก UID ให้กับผู้ใช้ตามจำนวนที่กำหนด Solaris จะให้ UID แรกแก่ผู้ใช้ทั่วไป 100 บน OpenBSD เท่ากับ 1,000 และบน macOS จะปรากฏเป็น UID 501 ที่จะเป็น UID สำหรับผู้ใช้แบบโต้ตอบแรกที่สร้างขึ้นซึ่งน่าจะเป็นผู้ใช้ admin macOS (ซึ่งไม่เหมือนกัน) ในฐานะผู้ใช้รูท)

บัญชีที่มีตัวเลขต่ำกว่าคือบัญชีผู้ใช้ระบบสำหรับ daemons เป็นต้นซึ่งทำให้แยกความแตกต่างระหว่างบัญชี "คน" แบบโต้ตอบจากบัญชีบริการของระบบ สิ่งนี้อาจทำให้การจัดการผู้ใช้การพิสูจน์ตัวตน ฯลฯ ง่ายขึ้นในซอฟต์แวร์ต่างๆ YP / NISเป็นระบบที่ล้าสมัยเล็กน้อยสำหรับการรักษาบัญชีผู้ใช้ (และข้อมูลอื่น ๆ ) บนเซิร์ฟเวอร์ส่วนกลางโดยไม่ต้องสร้างผู้ใช้ท้องถิ่นบนเครื่องไคลเอนต์หลายเครื่องตัวอย่างเช่นมีMINUIDและMAXUIDตั้งค่าสำหรับช่วงของบัญชีผู้ใช้ที่ควรจัดการ

ใน Unices บางบัญชีบัญชีบริการระบบอาจถูกจัดสรรให้กับซอฟต์แวร์บุคคลที่สามเช่น UID 50 ถึง 999 บน FreeBSD หรือ 500 ถึง 999 ใน OpenBSD

ช่วงทั้งหมดเหล่านี้ได้รับการคัดเลือกจากผู้ผลิตและผู้ดูแลระบบของแต่ละ Unices ตามความต้องการที่คาดหวังของระบบปฏิบัติการ มาตรฐาน POSIX ไม่ได้พูดอะไรเกี่ยวกับสิ่งเหล่านี้ UID ที่จัดสรรได้ต่ำสุดและสูงสุด (และ GID) มักจะกำหนดค่าได้โดยผู้ดูแลระบบท้องถิ่น (ดูadduserคู่มือของคุณ)

ส่วนใหญ่ Unices สำรอง UID 0 root, ซุปเปอร์ของผู้ใช้และกำหนด UID เป็นไปได้สูงสุด (หรืออย่างน้อยบางส่วนที่มีมูลค่าสูง) ให้กับผู้ใช้nobody(Solaris ใช้ UID 60001, 32768 OpenBSD ใช้ แต่ UIDs อาจจะมากขนาดใหญ่กว่านั้น)

(ดูความคิดเห็นเกี่ยวกับ UID 0 ที่เป็นroot(หรือไม่) ซึ่งเป็นการพูดนอกเรื่องเล็กน้อยจากหัวข้อนี้)


อัปเดต: โครงการ OpenBSD ได้ปฏิเสธแนวคิดการสุ่มจัดสรร UID / GID


โปรดทราบว่าสิ่งเหล่านี้เป็นเพียงความยินยอม ในระบบที่เหมือน Unix และ Unix ไม่มีอะไรที่น่าอัศจรรย์เกี่ยวกับ UID รูทอาจได้รับ UID อย่างอิสระที่ 65535 และผู้ใช้แบบโต้ตอบรายแรกสามารถกำหนดให้เป็น UID 0 ได้
Doug R.

@DougR อาจเป็นไปได้ แต่มีแนวโน้มที่จะทำลายซอฟต์แวร์ที่มีอยู่จำนวนหนึ่ง POSIX มีแนวโน้มที่จะกล่าวว่ากระบวนการความต้องการ "สิทธิ์ที่เหมาะสม" ไม่ได้เป็นผู้ใช้ ดูคำจำกัดความของ "สิทธิ์ที่เหมาะสม" (ซึ่งระบุว่าโพสต์ UID เป็น "superuser" ในบางระบบ): pubs.opengroup.org/onlinepubs/9699919799/xrat/ …
Kusalananda

สิทธิ์เหนือผู้ใช้คือจุดของความคิดเห็นของฉันแม้ว่าฉันจะไม่ได้ระบุไว้อย่างชัดเจนเหมือนที่คุณเพิ่งทำ ซอฟต์แวร์เดียวที่ควรแตกคือซอฟต์แวร์ที่ขึ้นอยู่กับ UID ที่อยู่ในช่วงที่ระบุ ไม่แน่ใจว่าถ้ามีอะไรทำอย่างนั้น
Doug R.

@DougR ที่เกี่ยวข้อง: superuser.com/questions/626843/…
Kusalananda

8

สำหรับการแจกแจงที่เป็นไปตามLSBพวกเขาจะจัดสรร UID และ GIDs 0-99 แบบคงที่ UIDs 100-499 ได้รับการจัดสรรแบบไดนามิก แต่ก็มีไว้สำหรับระบบและไม่ใช่สำหรับบัญชีเข้าสู่ระบบ

ตัวอย่างเช่นการพิมพ์ daemons เช่นcupsมีแนวโน้มที่จะได้รับการจัดสรรบัญชีผู้ใช้ของตนเอง ดังนั้นหากช่องโหว่ใน daemon ถูกใช้ประโยชน์ daemon จะไม่ทำงานเช่นเดียวrootกับการใช้พลังงานเต็มรูปแบบเหนือระบบ (ไม่จำเป็นว่าจะต้องมีอำนาจในการแทรกแซงกับภูตอื่น ๆ )

บนลีนุกซ์รุ่นล่าสุด, ช่วงของระบบจะขยายได้มากถึง 999

สิ่งนี้จะทำให้ UID 500 ขึ้นไป (หรือ 1,000 ขึ้นไป) สำหรับบัญชีเข้าสู่ระบบ

Debian มีการจัดสรรแบบคงที่สำหรับโพสต์GID 100 แม้ว่าฉันจะนึกไม่ออกว่าการเบี่ยงเบนนั้นก่อให้เกิดปัญหาใด ๆ ก็ตาม

เป็นเรื่องง่ายที่จะจินตนาการว่าระบบอื่นที่มีการเบี่ยงเบนแบบหนึ่งต่อหนึ่งซึ่งสำรอง UID 500 เพิ่มเติม (ฉันคิดว่าสิ่งนี้จะยังคงเป็นไปตามมาตรฐานฉันไม่สามารถจินตนาการได้ว่า Linux'es ทั้งหมดได้ละเมิด LSB มานานแล้วโดยไม่ต้อง กำลังอัปเดต)

บัญชีการเข้าสู่ระบบครั้งแรกไม่จำเป็นต้องเป็นบัญชีผู้ดูแลระบบหรือบัญชีผู้ดูแลระบบหลัก ระบบไม่จำเป็นต้องใช้sudo(โดยเฉพาะอย่างยิ่งหากพวกเขาล่วงหน้าวันที่ :) คุณอาจพูดว่า "บัญชีผู้ดูแลระบบหลัก" rootในกรณีนั้น นอกเหนือจากนั้น * การแจกแจง Linux และจุดประสงค์ทั่วไปไม่รู้จัก "บัญชีผู้ดูแลระบบหลัก" โดยเฉพาะ


ไม่แน่ใจว่าทำไมคุณถึงพูดถึง Linux เมื่อ OP ถามถึง Mac OS X โดยเฉพาะ
CVn

> แก้ไขเมื่อ 7 ชั่วโมงที่ผ่านมา> ในระบบ * nix
sourcejedi

4
On more recent Linux distributions, the system range is extended up to 999.- ฉันมี ID ผู้ใช้ตั้งแต่ 1,000 ขึ้นไปและเริ่มใช้ Linux ในปี 2005 ฉันจะไม่เรียกมันว่า "ล่าสุด"
Mirek Długosz

อะไรที่ทำให้คุณคิดว่า 100 เป็นค่าคงที่บนเดเบียน ดูสองระบบของฉันมันดูมีพลังสำหรับฉัน (ระบบหนึ่งเป็น systemd-timesync ส่วนอีกอันเป็น sshd)
plugwash

เมื่อแก้ไขคำถาม 12:22 UTC OP ได้เพิ่มแท็ก [osx] พร้อมกับกล่าวถึง OS X ในเนื้อหาของคำถาม คำตอบของคุณถูกโพสต์ในอีกสิบนาทีต่อมาและดูเหมือนจะไม่คำนึงถึงเรื่องนี้เลย
CVN
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.