Изменить идентификатор группы при действии в каталоге

У меня есть каталог shared где люди часть группы common иметь rwx разрешение внутри. И пользователь john

$> id john
uid=1000(john)gid=1000(john)groups=1000(john),10(common)

Было бы неплохо, если бы пользователь john которая является частью группы common и его собственная группа может автоматически изменить свою группу (неявно с командой newgrp) только если он действует внутри каталога shared,

Как это:

john $> pwd
/home/john
john $> id
uid=1000(john)gid=1000(john)groups=1000(john),10(common)   # gid is john

john $> ls -ld /shared
rwxrwx--- root common ... /shared/                         # here shared is part group common

john $> cd /shared
john $> id
uid=1000(john)gid=10(common)groups=1000(john),10(common)   # gid is common

john $> cd ~
john $> id
uid=1000(john)gid=1000(john)groups=1000(john),10(common)   # gid is john

Таким образом, пользователи могут работать с файлами, как если бы они были их собственными.>

1 ответ

Решение

Я бы предложил сделать chmod в каталоге, чтобы добавить бит SGID.

 chmod g+s directory

То, что происходит, - то, что любые созданные файлы получают группу, назначенную группе каталога автоматически.

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