Я недавно обновился до снежного барса. Я заметил, что некоторые файлы, написанные 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
Однако это не сработало должным образом, потому что настоящий umask, используемый sudo
- это объединение пользовательской маски с этой маской по умолчанию. Чтобы переопределить поведение umask sudo
и напрямую использовать значение по умолчанию (т.е. не объединение пользователя и маску sudo по умолчанию), можно добавить следующее:
Defaults umask_override