ฉันใช้ umask 077 "อื่น ๆ " และ "กลุ่ม" ไม่มีสิทธิ์ใด ๆ แต่ผู้ใช้ไม่สามารถเรียกใช้ไฟล์ / ไดเรกทอรีได้ ทำไม umask 077 ไม่อนุญาตให้เจ้าของเรียกใช้งานไฟล์ / ไดเรกทอรี?
ฉันใช้ umask 077 "อื่น ๆ " และ "กลุ่ม" ไม่มีสิทธิ์ใด ๆ แต่ผู้ใช้ไม่สามารถเรียกใช้ไฟล์ / ไดเรกทอรีได้ ทำไม umask 077 ไม่อนุญาตให้เจ้าของเรียกใช้งานไฟล์ / ไดเรกทอรี?
คำตอบ:
เมื่อคุณใช้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อย่างถูกต้อง (ตามที่กล่าวไว้ข้างต้น) เราสามารถตรวจสอบเพิ่มเติม
umaskค่าจะนำไปใช้อย่างเหมาะสมปรับเปลี่ยนค่าเริ่มต้นfMaskสำหรับสิทธิ์ของแฟ้ม (ฐานรับอนุญาต 0666) และdmaskสิทธิ์ไดเรกทอรี / โฟลเดอร์ (ฐานรับอนุญาต 0777)
มีประสิทธิภาพfMaskและdmaskค่าจะถูกคำนวณโดยหักumaskค่า (คำนวณ Octal)
ดังนั้นumask 0022 จะทำให้fmaskรับค่า 0644 (เช่น 0666 - 0022) ในขณะที่dmaskจะเป็น 0755 (เช่น 0777 - 0022)
umask 0077 ป้องกันไฟล์จากการถูกสร้างขึ้นด้วยการเข้าถึงใด ๆ ที่ไม่เพียง แต่จะโลก (แสดงโดยฐานแปดหลักที่ดีที่สุด) แต่ยังของสมาชิกในกลุ่ม (แสดงโดยสุดท้ายฐานแปดบาท)