Как сделать файлы, созданные в каталоге, принадлежащем группе каталогов?

20

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

singpolyma
источник

Ответы:

28

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

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

горилла
источник
1

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