1

У меня есть каталог, который я пытаюсь настроить таким образом, чтобы у всех участников группы были права rwx. Вот подмножество каталога и его разрешения:

-rwxr-xr-x  1 myusrnm grpnm 21638 2015-04-22 14:14 correct
-rwxrwxr--  1 myusrnm grpnm 14403 2015-04-22 14:14 correct.c

Теперь я перехожу к одному из пользователей в группе, подтверждаю, что он в нем:

myusrnm@server:~/grpdir$ sudo su hisusrnm
hisusrnm@server:/grpdir$ whoami
hisusrnm
hisusrnm@server:/grpdir$ groups
hisusrnm sshusers grpnm

И отредактируйте правильную. Теперь в другом терминале я проверяю каталог и нахожу:

-rwxr-xr-x  1 myusrnm grpnm   21638 2015-04-22 14:14 correct
-rwxrwxr--  1 hisusrnm hisusrnm 14368 2015-04-22 14:23 correct.c

Я просто понял, что то же самое происходит, когда я редактирую файл; его группа автоматически изменяется на myusrnm , а его разрешения автоматически изменяются на 774. Почему это происходит? Как я могу заставить участников группы редактировать файл, не меняя его группу, владельца и разрешения? Это поведение Linux по умолчанию? Или моя система ведет себя сверхспециально?

1 ответ1

1

используйте SetGID в родительской папке. Это заставит владельца группы остаться тем из родительских папок.

Вы можете включить SetGID с помощью chmod g+s folder/path или поставить 2 в верхнем порядке числового шаблона; например: chmod 2740 folder/path . если это новая папка, вы можете просто применить право владения к папке, и новые файлы примут владельца группы папок или существующую папку, укажут саму папку, но с помощью переключателя chmod -R установите разрешение на все существующие дети. если у детей есть действующие владельцы, вам также необходимо установить их

chown -R user:group /path/to/existing/dir
chmod -R 2640 /path/to/existing/dir

Что касается того, почему ваши разрешения меняются, проверьте ваш umask . Похоже, он установлен на 0003 . Вы настроили это? рассмотреть вопрос об изменении его на 0022 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .