การอยู่ในกลุ่ม 0 หมายความว่าอย่างไร


11

ผู้ใช้หลายคนในระบบที่ฉันสืบทอดได้ตั้งกลุ่มเป็น 0 ใน / etc / passwd นั่นหมายความว่าอย่างไร? พวกเขาจำเป็นต้องได้รับสิทธิพิเศษอย่างเต็มที่หรือไม่?

ระบบกำลังเรียกใช้ CentOS 5 และผู้ใช้ดูเหมือนจะเกี่ยวข้องกับระบบเป็นหลักแม้ว่าผู้ดูแลระบบเดิมจะอยู่ในกลุ่มนั้นด้วย:

$ grep :0: /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash
$

คำตอบ:


12

ต่างจากผู้ใช้ 0 (ผู้ใช้รูท) กลุ่ม 0 ไม่มีสิทธิ์พิเศษใด ๆ ที่ระดับเคอร์เนล

ตามเนื้อผ้ากลุ่ม 0 มีสิทธิพิเศษในหลายรูปแบบยูนิกซ์ - สิทธิในการใช้suเป็นรูท (หลังจากพิมพ์รหัสผ่านรูท) หรือสิทธิในการรูทโดยไม่ต้องพิมพ์รหัสผ่าน โดยทั่วไปผู้ใช้ในกลุ่ม 0 คือผู้ดูแลระบบ เมื่อกลุ่ม 0 มีสิทธิ์พิเศษจะถูกเรียกใช้wheel

ภายใต้ Linux กลุ่ม 0 ไม่มีความหมายพิเศษใด ๆ ในการเพิ่มระดับสิทธิ์การใช้งานเช่นsudoและsuอย่างใดอย่างหนึ่ง ดูเหตุใด Debian จึงไม่สร้างกลุ่ม 'ล้อ' ตามค่าเริ่มต้น

ภายใต้ CentOS เท่าที่ฉันรู้กลุ่ม 0 ไม่มีความสำคัญเป็นพิเศษ ไม่มีการอ้างอิงในsudoersไฟล์เริ่มต้น ผู้ดูแลระบบในระบบนั้นอาจตัดสินใจที่จะเลียนแบบธรรมเนียมยูนิกซ์และให้สมาชิกกลุ่ม 0 มีสิทธิ์พิเศษบางอย่าง ตรวจสอบการกำหนดค่า PAM ( /etc/pam.conf, /etc/pam.d/*) และไฟล์ sudoers ( /etc/sudoers) ไม่ใช่ตำแหน่งเดียวที่กลุ่ม 0 อาจได้รับสิทธิ์พิเศษ แต่เป็นไปได้มากที่สุด)


3

ซึ่งแตกต่างจาก ID ผู้ใช้ 0 เคอร์เนลไม่ให้สิทธิ์พิเศษใด ๆ กับกลุ่ม 0 อย่างไรก็ตามเนื่องจากโดยทั่วไป 0 เป็นกลุ่มเริ่มต้นสำหรับrootผู้ใช้หมายความว่าคนเหล่านี้มักจะสามารถเข้าถึงหรือแก้ไขไฟล์ที่เป็นเจ้าของโดยรูท (เนื่องจากไฟล์เหล่านั้น มักจะเป็นเจ้าของโดยกลุ่ม 0)

นอกจากนี้บางโปรแกรมอาจปฏิบัติต่อกลุ่ม 0 เป็นพิเศษ ยกตัวอย่างเช่นsuในระบบ BSD บางส่วนจะให้เข้าถึงราก passwordless ให้กับสมาชิกของกลุ่ม 0

ดังนั้นในขณะที่ไม่ใช่คลาส superuser ฉันยังต้องระวังว่าใครเป็นสมาชิก


2

มันก็หมายความว่ากลุ่มหลักของพวกเขาเป็นมากกว่าสิ่งอื่นใดและดังนั้นสำหรับตัวอย่างเช่นพวกเขาใช้การตั้งค่ากลุ่มเมื่อมีการเข้าถึงไฟล์ที่การตั้งค่ากลุ่มคือrootroot

ไฟล์ระบบมาตรฐานส่วนใหญ่เป็นของเจ้าของroot.rootแต่สิทธิ์กลุ่มมักจะเหมือนกับสิทธิ์ของโลกดังนั้นตัวมันเองจะไม่ถ่ายทอดความได้เปรียบใด ๆ เว้นแต่ระบบของคุณจะมีการเปลี่ยนแปลงสิทธิ์ของกลุ่มในไฟล์มาตรฐาน

มันไม่ได้ให้สิทธิ์รูทเต็มที่


0

ฉันไปงานปาร์ตี้ช้า แต่ก็ถามคำถามเดียวกันกับตัวเองวันนี้และมาถึงข้อสรุปดังต่อไปนี้:

นี่เป็นสิ่งที่ขัดกับหลักการของสิทธิพิเศษน้อยที่สุดและควรหลีกเลี่ยง

โดยเฉพาะอย่างยิ่งสิ่งนี้อาจให้สิทธิ์ผู้ใช้ (อ่านเขียนหรือเรียกใช้) ไม่เพียง แต่กับไฟล์และไดเรกทอรีปกติจำนวนมาก แต่ยังมีสิทธิพิเศษมากมายเช่นพูดคุยกับเคอร์เนลระบบของคุณ

แต่เนื่องจากสิ่งนี้อาจแตกต่างกันไปสำหรับระบบของคุณคุณควรรันสิ่งนี้เพื่อค้นหาและตรวจสอบพวกมันทั้งหมด (ก่อนอื่นสำหรับการอ่าน, ที่สองสำหรับการเขียน, eXecute ถูกทิ้งไว้เป็นเครื่องออกกำลังกายสำหรับผู้อ่าน):

find / -group 0 -perm -g+r ! -perm -o+r  -ls | less 
find / -group 0 -perm -g+w ! -perm -o+w  -ls | less

บางส่วนอาจเป็นไฟล์และไดเรกทอรีปกติ (เช่นโฮมไดเร็กตอรี่ / รูท) แต่บางไฟล์อาจเป็นไฟล์หลอกที่เชื่อมต่อกับเคอร์เนล (เช่นใน / proc และ / sys)

เช่น:

find /sys -type f -group 0 -perm -g+w ! -perm -o+w  -name 'remove'
/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/remove
/sys/devices/pci0000:00/0000:00:17.0/remove
/sys/devices/pci0000:00/0000:00:16.6/remove
...
etc.

ใช้lspci -v |lessเพื่อค้นหาว่าอุปกรณ์เหล่านั้นคืออะไร (เช่น: ตัวควบคุมที่เก็บข้อมูล, ตัวควบคุม USB, เครือข่ายและการ์ดวิดีโอ ฯลฯ )


หน้า Wikipedia ที่คุณเชื่อมโยงไปยังพูดว่า“ หลักการหมายถึงการให้บัญชีผู้ใช้หรือดำเนินการเฉพาะสิทธิ์ที่จำเป็นต่อการปฏิบัติหน้าที่ตามที่ตั้งใจไว้” แต่คุณได้ทำข้อโต้แย้งว่าบัญชีเหล่านี้ไม่จำเป็นต้องเข้าถึงที่ว่าพวกเขาได้รับจากการอยู่ในกลุ่ม 0.
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.