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