Как установить umask глобально?
Я использую частную настройку группы пользователей, то есть пользователя foo
домашний каталог принадлежит foo:foo
не foo:users
,
Чтобы это работало, мне нужно установить umask на 002 глобально.
После быстрого grep -RIi umask /etc/*
На мгновение казалось, что изменение UMASK
вход в /etc/login.defs
должен сделать свое дело. Это тоже так - но только для консольных входов.
Если я войду на свой рабочий стол и открою там терминал, я все равно смогу увидеть настройки по умолчанию umask 022
, То же самое касается файлов, созданных из приложений, запущенных через меню. По-видимому, диспетчер отображения (или любой другой компонент, отвечающий за компонент X11) делает исходные настройки, отличные от настроек входа в консоль, и, черт побери, могу ли я сказать, какой это. (Я пытался изменить настройку в /etc/init.d/rc
и нет, это не помогло.)
Как / где мне установить umask
глобально (и для всех пользователей), чтобы окружение рабочего стола X11 также получило памятку?
(Система Linux Mint / Ubuntu, на случай, если что-то изменится...)
1 ответ
Вы можете установить umask глобально, введя утверждение
umask 022
(например) в / etc / profile или /etc/bashrc.
Кроме того, поскольку вы работаете в системе Debian, вы можете использовать PAM. Чтобы включить это, сначала отредактируйте файл /etc/pam.d/common-session
и добавьте строку:
session optional pam_umask.so
затем отредактируйте файл /etc/login.defs
и добавить (или изменить, что угодно) строку
UMASK 002
Эти параметры вступают в силу после следующей перезагрузки, но будьте осторожны: оба метода приводят к конфигурации, которая всегда может быть заменена по выбору пользователя, например, в их ~/.bashrc.
Если вы действительно хотите сделать невозможным изменение umask, вы можете использовать конфигурацию диска в /etc/fstab. Как вы знаете, доступные параметры и синтаксис зависят от типа файловой системы.