ฉันใช้ umask 077 "อื่น ๆ " และ "กลุ่ม" ไม่มีสิทธิ์ใด ๆ แต่ผู้ใช้ไม่สามารถเรียกใช้ไฟล์ / ไดเรกทอรีได้ ทำไม umask 077 ไม่อนุญาตให้เจ้าของเรียกใช้งานไฟล์ / ไดเรกทอรี?
ฉันใช้ umask 077 "อื่น ๆ " และ "กลุ่ม" ไม่มีสิทธิ์ใด ๆ แต่ผู้ใช้ไม่สามารถเรียกใช้ไฟล์ / ไดเรกทอรีได้ ทำไม umask 077 ไม่อนุญาตให้เจ้าของเรียกใช้งานไฟล์ / ไดเรกทอรี?
คำตอบ:
เมื่อคุณใช้umask
077 เฉพาะผู้ใช้ที่มีการอ่านเขียนและดำเนินการสิทธิ์ ผู้ใช้จะสามารถเปิดไดเรกทอรี ('เรียกใช้') ได้อย่างแน่นอน (ดูเพิ่มเติมว่าทำไมไดเรกทอรีต้องสามารถเรียกใช้งานได้ในคำตอบของฉันที่นี่ ) อย่างไรก็ตามไฟล์จะต้องถูกทำให้สามารถเรียกใช้งานได้โดยการป้อนchmod u+x myfile
; พวกเขาจะไม่ดำเนินการโดยอัตโนมัติ ให้ข้อมูลที่เป็นประโยชน์เพิ่มเติมumask
ในคำตอบนี้:
ความเป็นไปได้ที่เป็นไปได้สำหรับปัญหาของคุณคือบางทีคุณอาจป้อนค่าไม่ถูกต้องเล็กน้อยซึ่งส่งผลให้เกิด umask ที่แตกต่างกันหรือค่านั้นไม่ได้ตั้งค่าไว้อย่างถาวร หากคุณเข้าสู่umask 077
เทอร์มินัลจะมีผลดีต่อเซสชันของเทอร์มินัลนั้นเท่านั้น ที่จะทำให้มันถาวรสำหรับผู้ใช้ของคุณเพียงแค่เพิ่มที่คุณumask 077
~/.profile
ตั้งค่าเริ่มต้นของระบบสำหรับการumask
อยู่ใน/etc/login.defs
; มันเคยเป็น/etc/profile
มา ดูเพิ่มเติม manpage สำหรับซึ่งเป็นโมดูลที่จัดการแพมที่ได้รับมอบหมายจากpam_umask
umask
ตัวอย่างต่อไปนี้มาจากการตั้งค่าที่ประสบความสำเร็จ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 ป้องกันไฟล์จากการถูกสร้างขึ้นด้วยการเข้าถึงใด ๆ ที่ไม่เพียง แต่จะโลก (แสดงโดยฐานแปดหลักที่ดีที่สุด) แต่ยังของสมาชิกในกลุ่ม (แสดงโดยสุดท้ายฐานแปดบาท)