Score:1

selinux - ทำไม Stuff_u กับ sysadm_r รัน postsuper ไม่ได้

ธง vn

ฉันพยายามทำความเข้าใจว่า selinux confined users ทำงานอย่างไร แต่มีพฤติกรรมบางอย่างที่ฉันยังไม่สามารถเข้าใจได้ ตาม หมวกสีแดง

ความสามารถของผู้ใช้ SELinux

ผู้ใช้ stuff_u ควรจะเรียกใช้ sudo ได้ แต่ไม่ใช่ su ดังนั้นฉันได้สร้างผู้ใช้ ผู้ใช้บางคน และแมปกับ staff_u

[someuser@testserver ~]$ id -Z
staff_u:staff_r:staff_t:s0-s0:c0.c1023

ตอนนี้ถ้าฉันเพิ่มสิทธิ์ทั้งหมดโดยใช้ sudo แต่ไม่ได้ตั้งค่าบทบาท/ประเภทใน sudoers ฉันจะทำอะไรไม่ได้มาก (ตามที่คาดไว้)

[someuser@testserver ~]$ sudo -l
การจับคู่รายการเริ่มต้นสำหรับผู้ใช้บางคนบนเซิร์ฟเวอร์ทดสอบ:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

ผู้ใช้ someuser อาจเรียกใช้คำสั่งต่อไปนี้บนเซิร์ฟเวอร์ทดสอบ:
    (ทั้งหมด) NOPASSWD: ALL

[someuser@testserver ~]$ sudo ls -la /var/log/audit/audit.log 
ls: ไม่สามารถเข้าถึง '/var/log/audit/audit.log': ปฏิเสธการอนุญาต

[someuser@testserver ~]$ sudo ausearch -m avc -ts ล่าสุด
เกิดข้อผิดพลาดในการเปิดไฟล์ปรับแต่ง (การอนุญาตถูกปฏิเสธ)
หมายเหตุ - ใช้บันทึกในตัว: /var/log/audit/audit.log
เกิดข้อผิดพลาดในการเปิด /var/log/audit/audit.log (ปฏิเสธการอนุญาต)
[someuser@testserver ~]$ 

ถ้าฉันเปลี่ยน sudoers เพื่อทำการเปลี่ยนเป็น sysadm_r และ sysadm_t ฉันคาดว่าจะได้รับอนุญาตโดยทั่วไปให้ทำอะไรก็ได้ แต่มันไม่ใช่สิ่งที่ฉันได้รับ

ฉันทำได้หลายอย่าง:

[someuser@testserver ~]$ sudo -l
การจับคู่รายการเริ่มต้นสำหรับผู้ใช้บางคนบนเซิร์ฟเวอร์ทดสอบ:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

ผู้ใช้ someuser อาจเรียกใช้คำสั่งต่อไปนี้บนเซิร์ฟเวอร์ทดสอบ:
    (ทั้งหมด) ROLE=sysadm_r TYPE=sysadm_t NOPASSWD: ทั้งหมด
[someuser@testserver ~]$ sudo ausearch -m avc -ts ล่าสุด | สุขา -l
66
[someuser@testserver ~]$ sudo ls -la /var/log/audit/audit.log 
-rw-------. 1 รูทรูท 1996980 30 ก.ค. 12:55 /var/log/audit/audit.log
[someuser@testserver ~]$ sudo cat /var/log/audit/audit.log | สุขา -l
8172
[someuser@testserver ~]$ 


แต่บางคำสั่งยังคงถูกบล็อก เช่น postsuper จากแพ็คเกจ postfix

[someuser@testserver ~]$ sudo postsuper
sesh: ไม่สามารถดำเนินการได้ /sbin/postsuper: การอนุญาตถูกปฏิเสธ
[someuser@testserver ~]$ ไฟล์ /sbin/postsuper
/sbin/postsuper: ไม่สามารถเปิด `/sbin/postsuper' (ปฏิเสธการอนุญาต)
[someuser@testserver ~]$ ไฟล์ sudo /sbin/postsuper
/sbin/postsuper: วัตถุที่ใช้ร่วมกัน LSB 64 บิตของ ELF, x86-64, เวอร์ชัน 1 (SYSV), เชื่อมโยงแบบไดนามิก, ตัวแปล /lib64/ld-linux-x86-64.so.2, สำหรับ GNU/Linux 3.2.0, BuildID[sha1]=aa0157870508c475195fe5fb1dafe5a9b3898a61 ปล้น
[someuser@testserver ~]$ 

ใครช่วยอธิบายเหตุผลให้ฉันฟังหน่อยได้ไหม สิ่งที่แปลกที่สุดคือฉันไม่เห็นการปฏิเสธใด ๆ บน /var/log/audit/audit.log สำหรับคำสั่ง postsuper แต่จะต้องเกี่ยวข้องกับ SELINUX เพราะถ้าฉันเปลี่ยนผู้ใช้กลับเป็น unconfined_u ทุกอย่างจะทำงานได้

Michael Hampton avatar
cz flag
ฉันเห็นสิ่งที่เกิดขึ้นในขณะนี้ ฉันสามารถจำลองปัญหาในระบบ RHEL 7 ที่ทันสมัย สิ่งที่ฉันไม่เห็นคือบันทึกหรือข้อมูลที่เป็นประโยชน์ที่จะอธิบายว่าเหตุใดจึงล้มเหลว แม้ว่าจะปิดใช้งาน dontaudit ก็ตาม อืม. หากคุณสมัครสมาชิก RHEL คุณควรเปิดเคสกับ Red Hat

โพสต์คำตอบ

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