В последних версиях OS X (10.6+) команда sudo
по умолчанию принимает "объединение" (поразрядное или) 0022 и маску пользователя вызывающей стороны. Это может привести к проблемам, если umask более ограничен, чем 0022: например, вызывающая сторона может не иметь доступа к файлам, созданным sudo. Соответствующий пост, Как мне сказать sudo писать файлы с umask 0022?, дает несколько вариантов; а именно этот ответ говорит нам, что в 10.7+ мы можем просто добавить две строки в файл /etc/sudoers
:
Defaults umask_override
Defaults umask=0022
Для меня это исправляет проблему (то есть использует umask 0022) для sudo
, но не при переключении в root с помощью команды su
(я использую OS X 10.7.5).
Вопрос: Как настроить OX X (версии 10.7+) на использование маски umask 0022 при переходе к пользователю root с помощью su
, независимо от маски umask звонящего?
Я бы предпочел решение, которое не просто переопределит команду su
. Обратите внимание, что man sudoers
предполагает, что конфигурация PAM может быть связана:
umask: Umask to use when running the command. Negate this option or set it to 0777 to
preserve the user's umask. The actual umask that is used will be the union of the
user's umask and 0022. This guarantees that sudo never lowers the umask when running
a command. Note on systems that use PAM, the default PAM configuration may specify
its own umask which will override the value set in sudoers.
Спасибо!