Я нещодавно модернізувався до Snow Leopard. Я помітив, що деякі файли, написані MacPorts, встановлені з неправильним дозволом - вони написані umask 0077. Я думаю, що я звузив проблему:
port
Команда викликається з допомогоюsudo
.- Мій
.bashrc
файл вказує umask 0077. - У старих версіях OS X (10.5 і нижче) sudo використовував umask кореневого користувача (який був 0022); проте зараз він використовує мій umask 0077.
Чи все-таки варто sudo
використовувати стару поведінку? Зараз це щось дратує, тому що мені доводиться використовувати sudo
для запуску простих команд, наприклад port installed
, port outdated
і т.д.
(Проблема більш докладно описана в цьому квитку на MacPorts .)
Редагувати
Я виявив umask
варіант для судо, і в цьому /etc/sudoers
додав наступний рядок:
Defaults umask=0022
Однак це функціонувало не так, як бажано, тому що справжній umask, який використовується, sudo
- це об'єднання маски користувача з цією маскою за замовчуванням. Для того, щоб змінити поведінку sudo
'umask' та використовувати за замовчуванням безпосередньо (тобто не об'єднання користувача та маску sudo за замовчуванням), можна додати наступне:
Defaults umask_override