5
ฉันจะบอก sudo ให้เขียนไฟล์ด้วย umask 0022 ได้อย่างไร
ฉันเพิ่งอัพเกรดเป็น Snow Leopard ฉันสังเกตว่าไฟล์บางไฟล์ที่เขียนโดย MacPort นั้นได้รับการติดตั้งโดยไม่ได้รับอนุญาต - ไฟล์นั้นเขียนด้วย umask 0077 ฉันคิดว่าฉันได้ จำกัด ปัญหา: คำสั่งจะถูกเรียกผ่านportsudo .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เป็นสหภาพของหน้ากากผู้ใช้ที่มีหน้ากากเริ่มต้นนี้ เพื่อแทนที่พฤติกรรมของsudoumask และใช้ค่าเริ่มต้นโดยตรง …