Под Debian, если Вы хотите изменить менеджер окон для всех пользователей, можно работать (как корень):
update-alternatives --config x-window-manager
и выберите менеджер окон, который Вы хотите как значение по умолчанию. Однако это могло бы только работать, если Вы не используете настольную среду (например, GNOME или KDE).
При использовании GNOME можно сказать его, какой менеджер окон Вы хотите, вставляя следующее ~/.gnomerc
:
export WINDOW_MANAGER=/usr/bin/mutter
Существует три нормальных способа установить umask пользователя.
UMASK
в /etc/login.defs
pam_umask.so
к Вашей конфигурации PAM в /etc/pam.d
/etc/profile
Нет никакого различия между пользователями системы и обычными пользователями в этом отношении.
Но я предполагаю, что Вы пытаетесь запустить демона с пользовательского umask?
Проблема: все вышеупомянутые опции происходят, когда пользователь входит в систему. При выполнении демона это никогда не входит в систему. Это запускается init, затем или работает как корень или вызовы setuid
для выполнения как пользователь системы, Вы указываете.
Ваши основные опции:
umask
в Вашем init сценарии (делают a grep umask /etc/init.d/*
для примера)start-stop-daemon
, передайте umask опциюПользователи системы отличаются от 'нормальных' тремя способами: истечение пароля, корневой каталог (у пользователей системы нет одного), и UID (пользователи системы обычно ниже некоторого произвольного порога).
В общем случае Вам почти совершенно не повезло. Можно использовать PAM для установки umask, но PAM выбирает поведения на основе вещей кроме этих трех различий.
Другими словами, Вы не можете заставить PAM различать 'систему' и 'несистемных' пользователей. Это оставляет Вас с двумя опциями:
Любой Вы используете PAM для установки umask для всех (например, зарегистрироваться /etc/login.defs
), затем явно установите umask для несистемных пользователей в /etc/bash.bashrc
(или подобный);
Или Вы пишете свой собственный модуль PAM, чтобы сделать это. Я думаю, что это было бы одобрено многими людьми, поскольку установка umask является общим запросом.
Возьмите этот ответ с щедрой щепоткой соли. Этот вид запроса довольно распространен, и я не был бы удивлен, существует ли лучший/надлежащий путь теперь.
pam_umask
, но возможно не о pam_succeed_if
. С pam_succeed_if можно заставить любой другой модуль применяться только к данному пользователю или группе. Но я все еще не думаю, что PAM поможет здесь.
– Mikel
12.04.2012, 17:43
Как предлагает @mikel, если вы пытаетесь настроить системную учетную запись, которая является демоном, попробуйте настроить самого демона.
Я пришел к этому вопросу, глядя, как установить Umask для учетной записи _www на MacOS. Хотя это сложно, как указано выше ответов, я обнаружил, что смогу решить его, настроив службу Apache как (в этом случае) пользователь == демон.
Я странно не смог найти сценарий запуска (обычно в /etc/init.d/, но на Mac в библиотеке / launchdemons /), но с помощью: http://krypted.com/mac -Security / apache2-umasks / Обнаружены, что Apache имеет свой собственный специфический скрипт окружающей среды.
$ sudo vim /usr/sbin/envvars
umask 002
Возможно, другие демоны имеют подобные методы, которые могут помочь в конкретных случаях.