Я прочитал несколько статей как эта старая, как изменить umask режим, но все еще не могу изобразить его 100%, у меня есть Ubuntu 14.04, работающая с Гостеприимным ядром с umask 0002 по умолчанию, и моя цель состоит в том, чтобы установить 0027 umask режимов постоянно все через систему. Как я заставляю его произойти? Что лучший способ должным быть сделать так?
Благодарен за то, что @waltinator указывает на меня для правильного направления.
Отсюда я изобразил легкий шаг, как установить umask режим на 0027 просто выполненный в терминале:
sudo gedit /etc/login.defs
или с nano
какой Вы предпочитаете.
поиск строки:
Prefix these values with "0" to get octal, "0x" to get hexadecimal.
ERASECHAR 0177
KILLCHAR 025
UMASK 027
Отредактируйте последнюю строку, отсылающую UMASK, это установит umask на 0007 для вступления в силу, просто выходят из системы и входят в систему назад.
Сделайте уведомление на строках выше: Если USERGROUPS_ENAB установлен на "да", который изменит это значение по умолчанию UMASK... используемое в качестве полномочий группы, например, 022 станет 002
Таким образом, чтобы umask 0027 вступил в силу, катятся к строке:
USERGROUPS_ENAB yes
и измените его на:
USERGROUPS_ENAB no
Готово. После того, как Вы вышли из системы, и войдите в систему обратный ход в терминале umask
и это даст Вам 0027
режим.
Теперь создайте новый файл с touch
в терминале:
touch testfile
теперь проверьте полномочия:
stat -c %a ~/testfile
Это должно дать Вам 640
Простое man -k umask
должно было привести Вас к чтению man pam_umask
, свист говорит, частично:
DESCRIPTION
pam_umask is a PAM module to set the file mode creation mask of the
current environment. The umask affects the default permissions assigned
to newly created files.
Это также говорит,
The PAM module tries to get the umask value from the following places
in the following order:
· umask= argument
· umask= entry in the user's GECOS field
· UMASK= entry from /etc/default/login
· UMASK entry from /etc/login.defs (influenced by USERGROUPS_ENAB in
/etc/login.defs)
Я использовал ответ JoKeR выше для достижения umask в масштабе всей системы 027, но я был сознателен, что, когда я использовал USERGROUPS_ENAB no
, требовалось больше управления группы. Таким образом, я чувствую, что нашел лучший ответ в основном:
session optional pam_umask.so
так, чтобы pam_umask был включен. session optional pam_umask.so umask=027
chfn --other='umask=027' username
UMASK=027
в/etc/default/login (Вы, возможно, должны создать тот файл) устанавливает мягкое значение по умолчанию в масштабе всей системы. Поэтому теперь для меня я использую первую опцию (значение по умолчанию в масштабе всей системы началось/etc/pam.d/common-session), и это работает действительно хорошо.
Удача мои друзья :)