ทำไม umask 077 ไม่อนุญาตให้ผู้ใช้เรียกใช้ไฟล์ / ไดเรกทอรี?


10

ฉันใช้ umask 077 "อื่น ๆ " และ "กลุ่ม" ไม่มีสิทธิ์ใด ๆ แต่ผู้ใช้ไม่สามารถเรียกใช้ไฟล์ / ไดเรกทอรีได้ ทำไม umask 077 ไม่อนุญาตให้เจ้าของเรียกใช้งานไฟล์ / ไดเรกทอรี?

คำตอบ:


6

เมื่อคุณใช้umask077 เฉพาะผู้ใช้ที่มีการอ่านเขียนและดำเนินการสิทธิ์ ผู้ใช้จะสามารถเปิดไดเรกทอรี ('เรียกใช้') ได้อย่างแน่นอน (ดูเพิ่มเติมว่าทำไมไดเรกทอรีต้องสามารถเรียกใช้งานได้ในคำตอบของฉันที่นี่ ) อย่างไรก็ตามไฟล์จะต้องถูกทำให้สามารถเรียกใช้งานได้โดยการป้อนchmod u+x myfile; พวกเขาจะไม่ดำเนินการโดยอัตโนมัติ ให้ข้อมูลที่เป็นประโยชน์เพิ่มเติมumaskในคำตอบนี้:

ความเป็นไปได้ที่เป็นไปได้สำหรับปัญหาของคุณคือบางทีคุณอาจป้อนค่าไม่ถูกต้องเล็กน้อยซึ่งส่งผลให้เกิด umask ที่แตกต่างกันหรือค่านั้นไม่ได้ตั้งค่าไว้อย่างถาวร หากคุณเข้าสู่umask 077เทอร์มินัลจะมีผลดีต่อเซสชันของเทอร์มินัลนั้นเท่านั้น ที่จะทำให้มันถาวรสำหรับผู้ใช้ของคุณเพียงแค่เพิ่มที่คุณumask 077 ~/.profileตั้งค่าเริ่มต้นของระบบสำหรับการumaskอยู่ใน/etc/login.defs; มันเคยเป็น/etc/profileมา ดูเพิ่มเติม manpage สำหรับซึ่งเป็นโมดูลที่จัดการแพมที่ได้รับมอบหมายจากpam_umaskumask

ตัวอย่างต่อไปนี้มาจากการตั้งค่าที่ประสบความสำเร็จumask 077:

1) สำหรับการสร้างโฟลเดอร์ : mkdir docตรวจสอบด้วยการstat docให้สิทธิ์ที่ถูกต้องและโฟลเดอร์ 'ปฏิบัติการ':

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2) สำหรับการสร้างไฟล์ : touch newตรวจสอบด้วยการstat newให้สิทธิ์ที่ถูกต้อง; ไฟล์จะถูกเรียกใช้งานได้ก็ต่อเมื่อคุณใช้chmod +x:

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

A umaskของ 077 จะให้สิทธิ์แสดง แต่ถ้าคุณยังคงมีปัญหากับสิทธิ์หลังจากตั้งค่าumask 077อย่างถูกต้อง (ตามที่กล่าวไว้ข้างต้น) เราสามารถตรวจสอบเพิ่มเติม


5

umaskค่าจะนำไปใช้อย่างเหมาะสมปรับเปลี่ยนค่าเริ่มต้นfMaskสำหรับสิทธิ์ของแฟ้ม (ฐานรับอนุญาต 0666) และdmaskสิทธิ์ไดเรกทอรี / โฟลเดอร์ (ฐานรับอนุญาต 0777)

มีประสิทธิภาพfMaskและdmaskค่าจะถูกคำนวณโดยหักumaskค่า (คำนวณ Octal)

ดังนั้นumask 0022 จะทำให้fmaskรับค่า 0644 (เช่น 0666 - 0022) ในขณะที่dmaskจะเป็น 0755 (เช่น 0777 - 0022)

umask 0077 ป้องกันไฟล์จากการถูกสร้างขึ้นด้วยการเข้าถึงใด ๆ ที่ไม่เพียง แต่จะโลก (แสดงโดยฐานแปดหลักที่ดีที่สุด) แต่ยังของสมาชิกในกลุ่ม (แสดงโดยสุดท้ายฐานแปดบาท)

อ้างอิง:


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