Редактирование члена группы в файл * автоматически * меняет владельца, группу и разрешения

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

Решение

Используйте 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,

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