Есть ли способ в Linux, чтобы все новые файлы, созданные в каталоге, принадлежали группе каталога, а не группе создавшего пользователя?
2 ответа
Если вы выполните команду chmod g+s directory
то все файлы, созданные в этом каталоге, будут принадлежать этой группе.
newgroup
- это пережиток тех дней, когда вы могли быть только в одной группе, и в настоящее время он действительно не нужен.
Файлы, созданные пользователем, создаются с его текущим идентификатором группы. Для проверки идентификаторов пользователя вы можете выполнить 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