Gần đây tôi đã nâng cấp lên Snow Leopard. Tôi đã nhận thấy rằng một số tệp được viết bởi MacPorts được cài đặt với sự cho phép sai - chúng được viết với một ô là 0077. Tôi nghĩ rằng tôi đã thu hẹp vấn đề:
- Các
port
lệnh được gọi quasudo
. .bashrc
Tập tin của tôi chỉ định một ô là 0077.- Trên các phiên bản cũ hơn của OS X (10.5 trở xuống), sudo đã sử dụng ô của người dùng root (là 0022); tuy nhiên, bây giờ nó sử dụng ô của tôi là 0077.
Có cách nào để sudo
sử dụng các hành vi cũ? Ngay bây giờ, đó là loại gây phiền nhiễu bởi vì tôi phải sử dụng sudo
để chạy các lệnh đơn giản như port installed
, port outdated
vv
(Vấn đề được mô tả chi tiết hơn trong vé MacPorts này .)
Biên tập
Tôi phát hiện ra umask
tùy chọn cho sudo và trong /etc/sudoers
tôi đã thêm dòng sau:
Defaults umask=0022
Tuy nhiên, điều này không hoạt động như mong muốn, bởi vì cái ô thực sự được sử dụng sudo
là sự kết hợp của mặt nạ người dùng với mặt nạ mặc định này. Để ghi đè hành vi của ô sudo
và sử dụng trực tiếp mặc định (nghĩa là không kết hợp giữa người dùng và mặt nạ sudo mặc định), người ta có thể thêm vào như sau:
Defaults umask_override