ไม่มีผู้ใช้และกลุ่มคืออะไร


37

บนเซิร์ฟเวอร์ของฉัน (Synology DS212) บางไฟล์และโฟลเดอร์มีnobody nobodyผู้ใช้และกลุ่ม ผู้ใช้และกลุ่มนี้มีลักษณะอย่างไร? ใครสามารถเขียนอ่านไฟล์นี้

ฉันจะเปลี่ยนได้อย่างไร ผู้ใช้และกลุ่มใด

คำตอบ:


41

ผู้ใช้ที่ไม่มีใครเป็นผู้ใช้หลอกใน Unixes และ Linux ดิสทริบิวชันมากมาย ตามฐานมาตรฐาน Linuxผู้ใช้ไม่มีใครและกลุ่มเป็นผู้ใช้ช่วยในการจำและกลุ่ม ผู้ใช้นั้นมีไว้เพื่อเป็นตัวแทนของผู้ใช้ที่มีสิทธิ์น้อยที่สุดในระบบ ในกรณีที่ดีที่สุดที่ผู้ใช้และกลุ่มไม่ได้ถูกกำหนดให้กับไฟล์หรือไดเรกทอรีใด ๆ (ในฐานะเจ้าของ) ผู้ใช้รายนี้อยู่ในกลุ่มที่สอดคล้องกันของเขานั่นคือ (ตาม LSB) เรียกว่า "ไม่มีใคร" และไม่มีกลุ่มอื่น

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

ผู้ใช้ที่ไม่มีใครควรมีเชลล์ที่ไม่ได้กำหนด การแจกแจงที่แตกต่างกันจัดการในวิธีที่ต่างกัน: บางอ้างถึง/sbin/nologinที่พิมพ์ข้อความ; บางคนอ้างถึง/bin/falseว่าเพียงแค่ออกด้วย 1 (เท็จ); /etc/shadowหรือบางเพียงปิดการใช้งานของผู้ใช้ใน

ตามฐานมาตรฐาน Linux ผู้ใช้ไม่มีใครคือ "ใช้โดย NFS" ในความเป็นจริง NFS daemon เป็นหนึ่งในไม่กี่คนที่ยังคงต้องการผู้ใช้ที่ไม่มีใคร หากเจ้าของไฟล์หรือไดเร็กทอรีในการแบ่งใช้ NFS ที่เมาท์ไม่มีอยู่ในระบบโลคัลมันจะถูกแทนที่โดยไม่มีผู้ใช้และกลุ่มของมัน

chownคุณสามารถเปลี่ยนได้รับอนุญาตของไฟล์ที่เป็นเจ้าของโดยผู้ใช้ไม่มีใครเพียงแค่มีผู้ใช้รากและ แต่ที่เครื่องที่โฮสต์การแบ่งปัน NFS ผู้ใช้นั้นอาจมีอยู่ดังนั้นโปรดระมัดระวัง

ฉันยังใช้ระบบ Synology พวกเขาเรียกใช้ apache เว็บเซิร์ฟเวอร์ภายใต้ไม่มีผู้ใช้


"เมื่อมี daemons หลายตัวที่ทำงานโดยไม่มีผู้ใช้สิ่งนี้จะไม่มีความหมายอีกต่อไป" - ทำไม daemon ที่ถูกบุกรุกสามารถส่งผลกระทบกับ daemons อื่น ๆ
flow2k

5

ผู้ใช้ที่สามารถเข้าสู่ระบบnobodyสามารถเปลี่ยนแปลงไฟล์เหล่านี้ได้ แต่โดยปกติระบบจะทำการติดตั้งดังนั้นจึงเป็นไปไม่ได้ บนระบบที่ใช้เดเบียนของฉันรายการใน/etc/passwordไฟล์คือ:

nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

และ/usr/sbin/nologinให้:

This account is currently not available.

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


ในกรณีของฉันในฉันมี/etc/passwd ไม่มีอะไรคืน nobody:x:99:99::/:/bin/false/bin/false
Guuk

/bin/falseยังป้องกันไม่ให้ใครบางคนจากการเข้าสู่ระบบแม้ว่าจะมีชุด passord สำหรับnobodyใน/etc/shadowซึ่งปกติจะมีอยู่ไม่
ทุกคน

หากคุณต้องการเข้าสู่ระบบโดยไม่มีเหตุผลด้วยเหตุผลบางประการคุณสามารถแทนที่เชลล์เช่นsudo su nobody -s /bin/sh (ซึ่งจะแทนที่ "เชลล์เริ่มต้น" / usr / bin / nologin ด้วย / bin / sh) ด้วย
hanshenrik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.