Как установить 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. Как вы знаете, доступные параметры и синтаксис зависят от типа файловой системы.

Другие вопросы по тегам