ไดเรกทอรีใดที่ผู้ใช้“ ไม่มีใคร” เขียน?


10

ในไดเรกทอรีใดที่nobodyผู้ใช้สามารถเขียนในการกระจาย Ubuntu แบบมาตรฐานนอกกรอบได้?

ฉันรู้อยู่แล้วว่า/tmpจะอยู่drwxrwxrwtที่ไหน แต่จะมีสถานที่อื่นตามค่าเริ่มต้นที่ผู้ใช้สามารถเขียนได้หรือไม่


/var/tmpสำหรับหนึ่ง
muru

คำตอบ:


16

ใช้การตรวจสอบในรายการระบบของฉัน:

$ sudo find / -xdev -type d \( \( -user nobody -o -group nogroup \) -o -perm -777 \)
/tmp
/tmp/.X11-unix
/tmp/.ICE-unix
/var/tmp
/var/metrics
/var/spool/samba
/var/crash

ของเหล่านี้ผมคิดว่า/tmp, /var/tmpและ/var/crashที่จะนำเสนอในการติดตั้ง Ubuntu ทั้งหมดเนื่องจากพวกเขามีการระบุไว้ในระบบแฟ้มลำดับชั้นมาตรฐาน /tmpฉันคิดว่าไดเรกทอรีภายในสองรายการนั้นเป็นไดเรกทอรีที่ใช้งานเซสชันดังนั้นพวกเขาจึงสามารถข้ามไปได้ ฉันไม่คิดว่า/var/spool/sambaจะมีอยู่ในระบบ Ubuntu ใหม่ที่เหลือ/var/metricsอยู่ ฉันไม่แน่ใจว่าไดเรกทอรีนั้นมีไว้เพื่ออะไร

หมายเหตุเกี่ยวกับfindคำสั่ง:

  • -xdevยกเว้นระบบไฟล์อื่น ๆ (ดังนั้นฉันสามารถข้าม/proc, /sysโฮมไดเร็กตอรี่ของฉัน, ฯลฯ )
  • -type d จำกัด การตรวจสอบไปยังไดเรกทอรี
  • \( -user nobody -o -group nogroup \)- ทั้งเจ้าของควรจะเป็นnobodyหรือควรจะเป็นgroup nogroupเราใช้วงเล็บเพื่อจัดกลุ่มเงื่อนไขนี้และตรวจสอบความเป็นไปได้อื่น ๆ
  • -perm -777- ทุกคนมีสิทธิ์ทั้งหมดเข้าร่วมอีกครั้งโดยใช้ OR ( -o) แทนที่จะใช้-perm -777อย่างใดอย่างหนึ่งก็สามารถใช้-perm -2เป็น Random832 แนะนำเพื่อตรวจสอบการเขียนอนุญาตให้ผู้อื่น

ฉันอยากจะมีความคิดบางอย่างเกี่ยวกับวิธีการที่คำสั่ง find รวมกัน;)
heemayl

3
@heemayl ฉันได้เพิ่มคำอธิบายของfindคำสั่งที่ฉันใช้
muru

1
ไม่ควรเป็น -perm -002 หรือ ด้วยวิธีนี้คุณไม่ได้ตรวจสอบทุกคนว่ามีสิทธิ์ทุกอย่างเพียงแค่ได้รับอนุญาตจากทั่วโลก
Random832

@ Random832 -perm -2เพิ่มอีกหนึ่งรายการซึ่งมีโหมดค่อนข้างน่าแปลกใจ/var/lib/php5 rwx-wx-wtจับดี!
muru

1
@muru IIRC สิ่งนี้หมายความว่าทุกคนสามารถสร้างไฟล์ในไดเรกทอรีและสามารถเปิดไฟล์ที่มีอยู่ แต่ไม่สามารถแสดงรายการเนื้อหา
Random832
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.