ฉันเพิ่งอัพเกรดเป็น Snow Leopard ฉันสังเกตว่าไฟล์บางไฟล์ที่เขียนโดย MacPort นั้นได้รับการติดตั้งโดยไม่ได้รับอนุญาต - ไฟล์นั้นเขียนด้วย umask 0077 ฉันคิดว่าฉันได้ จำกัด ปัญหา:
- คำสั่งจะถูกเรียกผ่าน
port
sudo
.bashrc
ไฟล์ของฉันระบุ umask เป็น 0077- ใน OS X เวอร์ชั่นเก่า (10.5 และต่ำกว่า) sudo ใช้ umask ของผู้ใช้รูท (ซึ่งคือ 0022) อย่างไรก็ตามตอนนี้มันใช้umask ของฉัน 0077
อย่างไรก็ตามมีการsudo
ใช้พฤติกรรมเก่าหรือไม่? ตอนนี้มันเป็นชนิดที่น่ารำคาญเพราะผมต้องใช้sudo
ในการเรียกใช้คำสั่งง่ายๆเช่นport installed
, port outdated
ฯลฯ
(ปัญหาอธิบายไว้ในรายละเอียดเพิ่มเติมในตั๋ว MacPortนี้)
แก้ไข
ฉันค้นพบumask
ตัวเลือกสำหรับ sudo และใน/etc/sudoers
ฉันเพิ่มบรรทัดต่อไปนี้:
Defaults umask=0022
อย่างไรก็ตามสิ่งนี้ไม่ได้ทำงานตามที่ต้องการเพราะumask จริงที่ใช้โดยsudo
เป็นสหภาพของหน้ากากผู้ใช้ที่มีหน้ากากเริ่มต้นนี้ เพื่อแทนที่พฤติกรรมของsudo
umask และใช้ค่าเริ่มต้นโดยตรง (เช่นไม่ใช่สหภาพของผู้ใช้และหน้ากาก sudo เริ่มต้น) เราสามารถเพิ่มสิ่งต่อไปนี้ได้:
Defaults umask_override