1

В последних версиях 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.

Спасибо!

0