Как установить umask глобально?

16416
DevSolar

Я использую частную настройку группы пользователей, т.е. 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, на случай, если что-то изменится ...)

3

1 ответ на вопрос

5
MariusMatutiae

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

У меня сложилось впечатление, что `/ etc / profile` не подойдет для X11, так как он будет получен только из соответствующей среды * shell *. Так как этот ответ * работал * для меня, кажется, я был неправ. ;-) Файл, который я фактически закончил редактировать (так как я использую Linux Mint / Ubuntu), был `/ etc / profile.d / umask`, который получен из` / etc / profile` (и приводит к моим правкам не получить ядерное оружие со следующим обновлением системы последнего). Спасибо! DevSolar 10 лет назад 0

Похожие вопросы