19

Есть ли способ в Linux, чтобы все новые файлы, созданные в каталоге, принадлежали группе каталога, а не группе создавшего пользователя?

2 ответа2

26

Если вы выполните команду chmod g+s directory то все файлы, созданные в этом каталоге, будут принадлежать этой группе.

newgroup - это пережиток тех дней, когда вы могли быть только в одной группе, и в настоящее время он действительно не нужен.

1

Файлы, созданные пользователем, создаются с его текущим идентификатором группы. Для проверки идентификаторов пользователя вы можете выполнить id ; чтобы изменить свой GID на что-либо из списка ваших групп, используйте newgrp <group> или sg <group> <command>: первая команда запустит оболочку, а вторая просто запустит команду с GID, установленным в <group> id.

Проверьте эту оболочку 'log':

whitequark@forth:~/test$ id
uid=1000(whitequark) gid=1000(whitequark) groups=4(adm),20(dialout),24(cdrom),
46(plugdev),104(lpadmin),114(admin),118(sambashare),1000(whitequark)
whitequark@forth:~/test$ touch file1
whitequark@forth:~/test$ ls -la
total 8
drwxr-xr-x  2 whitequark whitequark 4096 2010-01-29 19:49 .
drwxr-xr-x 82 whitequark whitequark 4096 2010-01-29 18:02 ..
-rw-r--r--  1 whitequark whitequark    0 2010-01-29 19:49 file1
whitequark@forth:~/test$ newgrp admin
<<< at this point a new shell is started >>>
whitequark@forth:~/test$ touch file2
whitequark@forth:~/test$ ls -la
total 8
drwxr-xr-x  2 whitequark whitequark 4096 2010-01-29 19:49 .
drwxr-xr-x 82 whitequark whitequark 4096 2010-01-29 18:02 ..
-rw-r--r--  1 whitequark whitequark    0 2010-01-29 19:49 file1
-rw-r--r--  1 whitequark admin         0 2010-01-29 19:49 file2

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