ความแตกต่างระหว่างผู้ใช้ปกติและผู้ใช้ระบบคืออะไร?


124

เอกสารบางอย่างที่ฉันกำลังทำอยู่มีสวิตช์บูลีนว่าผู้ใช้นั้นเป็นผู้ใช้ 'ระบบ' หรือผู้ใช้ 'ปกติ' (ค่าเริ่มต้นเป็น 'ปกติ')

ความแตกต่างระหว่างสองโหมดของผู้ใช้เรือคืออะไร? ฉันไม่จำเป็นต้องเรียนรู้ว่าผู้ใช้คืออะไรหรือเพราะเหตุใดคุณจึงต้องการ (แม้แต่ 'ปลอม') แต่ความแตกต่างนี้ไม่ง่ายสำหรับฉัน

คำตอบ:


85

นั่นไม่ใช่ความแตกต่างทางเทคนิค แต่เป็นการตัดสินใจขององค์กร เช่นมีเหตุผลที่จะแสดงผู้ใช้ปกติในกล่องโต้ตอบการเข้าสู่ระบบ (เพื่อให้คุณสามารถคลิกพวกเขาแทนที่จะต้องพิมพ์ชื่อผู้ใช้) แต่มันจะไม่แสดงบัญชีระบบ (UID ที่ daemons และกระบวนการอัตโนมัติอื่น ๆ ทำงาน) .

ดังนั้นจึงมีการกำหนดเส้นขอบหรือมากกว่าสองช่วงสำหรับ UID สำหรับทั้งสองกลุ่ม ใน openSUSE ไฟล์/etc/login.defsมีบรรทัดเหล่านี้:

# ค่าต่ำสุด / สูงสุดสำหรับการเลือก uid อัตโนมัติใน useradd
#
# SYS_UID_MIN ถึง SYS_UID_MAX ที่ครอบคลุมคือช่วง
# UID สำหรับบัญชีผู้ดูแลระบบและระบบที่จัดสรรแบบไดนามิก
# UID_MIN ถึง UID_MAX ที่ครอบคลุมคือช่วงของ UID แบบไดนามิก
# บัญชีผู้ใช้ที่จัดสรร
#
UID_MIN 1,000
UID_MAX 60000
# บัญชีระบบ
SYS_UID_MIN 100
SYS_UID_MAX 499

และ

# ค่าต่ำสุด / สูงสุดสำหรับการเลือก gid อัตโนมัติใน groupadd
#
# SYS_GID_MIN ถึง SYS_GID_MAX ที่ครอบคลุมนั้นเป็นช่วง
# GIDs สำหรับกลุ่มการดูแลและระบบที่จัดสรรแบบไดนามิก
# GID_MIN ถึง GID_MAX ที่ครอบคลุมคือช่วงของ GIDs แบบไดนามิก
# กลุ่มที่จัดสรร
#
GID_MIN 1,000
GID_MAX 60000
# บัญชีระบบ
SYS_GID_MIN 100
SYS_GID_MAX 499

3
เป็นที่น่าสังเกตว่า Debian และคนอื่น ๆ จะมีกฎของระบบที่ซ่อนอยู่ส่วนใหญ่ (เช่นในกฎ PAM ที่ควบคุมตัวเลือกการตรวจสอบความถูกต้องของระบบ) ซึ่งแยกความแตกต่างตามว่า UID นั้นสูงกว่า 1,000 หรือน้อยกว่า เลือก UID ของคุณอย่างระมัดระวัง
เดฟ

38

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

ผู้ใช้ระบบจะถูกสร้างขึ้นโดยไม่มีข้อมูลการคำนวณอายุ/etc/shadowและตัวระบุตัวเลขจะถูกเลือกในSYS_UID_MIN- SYS_UID_MAXช่วงที่กำหนดไว้/etc/login.defsแทนที่จะUID_MIN- UID_MAX(และ GID คู่ของพวกเขาสำหรับการสร้างกลุ่ม)

เท่าที่ฉันสามารถบอกได้ (ฉันไม่รู้หุ่นกระบอก) ความแตกต่างจากมุมมองของหุ่นกระบอกคือว่ามันผ่าน-rตัวเลือกไปadduserหรือไม่

สำหรับมุมมองที่กว้างขึ้นโปรดดูที่ "ซ่อน" บัญชีจาก / etc / passwd ได้หรือไม่


บน CentOS: แม้ว่าuseradd --system foouserจะไม่สร้างโฮมไดเร็กตอรี่สำหรับผู้ใช้นั้นตาม man page ของuseradd(8)(ซึ่งบอกว่า: โปรดทราบว่า useradd จะไม่สร้างโฮมไดเร็กตอรี่สำหรับผู้ใช้ดังกล่าวโดยไม่คำนึงถึงการตั้งค่าเริ่มต้นใน /etc/login.defs (CREATE_HOME) . คุณจะต้องระบุตัวเลือก -m ถ้าคุณต้องการไดเรกทอรีบ้านสำหรับระบบบัญชีที่จะสร้าง. ) ไดเรกทอรีบ้านของผู้ใช้ใหม่foouserจะได้รับในขณะที่ดำรงอยู่ใน/home/foouser /etc/passwd
David Tonhofer

นอกจากนี้โพสต์จะถูกเลือกโดยนับถอยหลังจากSYS_UID_MAXทั่วไป 1000 เพื่อให้เรามี UID 998 foouserตัวอย่างสำหรับ
David Tonhofer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.