Почему свойство USERGROUPS_ENAB в /etc/login.defs не имеет никакого эффекта?
Я только что нашел следующий комментарий в /etc/login.defs:
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
Это звучит круто, но в моей системе это не так:
me@mysystem ~ $ id
uid=1000(me) gid=1000(me) Gruppen=1000(me),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),113(lpadmin),130(sambashare),133(roccat)
me@mysystem ~ $ touch test
me@mysystem ~ $ ll test
-rw-r--r-- 1 me me 0 Aug 17 20:02 test
me@mysystem ~ $ rm test
me@mysystem ~ $
(были сделаны следующие замены (больше ничего): my_real_user_and_groupname => me, my_real_hostname => mysystem)
Моя основная группа - это моя личная группа (как показывает групповое назначение тестового файла), но я не знаю команду CLI для проверки этого. Я проверил это через графический интерфейс.
Кто-нибудь знает, почему поведение, описанное в этом комментарии, не влияет на мою среду? Или чище: почему test создан с -rw-r--r-- вместо -rw-rw-r-- в моей системе?
Обновить:
me@mysystem ~ $ cat .bashrc | grep -e umask -e UMASK
me@mysystem ~ $ cat .profile | grep -e umask -e UMASK
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
me@mysystem ~ $ cat /etc/profile | grep -e umask -e UMASK
me@mysystem ~ $ cat /etc/bash.bashrc | grep -e umask -e UMASK
me@mysystem ~ $ umask
0022
me@mysystem ~ $
Обновление 2
me@mysystem / $ grep -r 'umask [0-9]' /etc/ 2> /dev/null
/etc/init/ssh.conf:umask 022
/etc/ppp/ip-down.d/0dns-down:umask 022
/etc/ppp/ip-up.d/0dns-up:umask 022
/etc/dhcp/dhclient-enter-hooks.d/samba: umask 022
/etc/init.d/umountfs:umask 022
/etc/init.d/ssh:umask 022
/etc/init.d/resolvconf: umask 022
/etc/init.d/urandom: umask 077
/etc/init.d/urandom: umask 022
/etc/init.d/urandom: umask 077
/etc/init.d/rc:umask 022
/etc/skel/.profile:#umask 022
/etc/X11/Xsession:if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
me@mysystem / $
1 ответ
Этот файл вступает в силу, когда вы входите в систему и настраиваете все сразу.
Если вы запускаете:
$ grep ^UMASK /etc/login.defs
UMASK 022
Вы можете видеть, что по умолчанию UMASK является 022 и если вы проверите его комментарии, вы обнаружите, что:
Если для USERGROUPS_ENAB установлено значение "да", это изменит это значение по умолчанию UMASK для частных групп пользователей.
Откройте терминал и запустите:
umask
Вы должны получить 002 потому что USERGROUPS_ENAB будучи включенным, в противном случае вы перезаписываете umaskЗначение где-то еще, как:
.bashrc
.profile
/etc/profile
/etc/bash.bashrc