Я запускаю apache как пользовательские www-данные на Ubuntu 10_04 LTS. У меня есть / etc / apache2 / envvar setup с 'umask 002', чтобы для любых новых файлов / каталогов, созданных демоном, были включены разрешения на запись группы. Иногда мне нужно создавать файлы / каталоги из командной строки, поэтому я выполняю команды sudo -u www-data, но я не могу понять, как получить их, чтобы разрешить групповые разрешения на запись при создании.
В / etc / passwd домашний каталог Ubuntu указан как '/ var / www'. Итак, согласно документации ubuntu (https://help.ubuntu.com/community/EnvironmentVariables), Я попытался добавить "umask 002" в следующие места:
/var/www/.profile
/var/www/.bashrc
/var/www/.bash_profile
/ var / www / bash_login
И файлы глобальной среды:
/ etc / окружающая среда
/etc/bash.bashrc
Даже после добавления «umask 002» ко всем этим файлам и перезагрузки выполнение sudo -u www-data touch testfile приводит к получению разрешений «-rw-r - r--». (Я пробовал это с оболочкой www-data, настроенной как на / bin / sh, так и на / bin / bash.)
Есть ли способ настроить так, чтобы команды sudo -u www-data создавали элементы с включенными разрешениями на запись для группы?
Вы пробовали установить его через /etc/sudoers
сам? Согласно sudoers(5)
:
umask_override If set, sudo will set the umask as specified by sudoers
without modification. This makes it possible to
specify a more permissive umask in sudoers than the
user's own umask and matches historical behavior. If
umask_override is not set, sudo will set the umask to
be the union of the user's umask and what is specified
in sudoers. This flag is off by default.