Ответы:
Для того, чтобы установить группу, дайте /var/www
в setgid бит:
chgrp www-data /var/www
chmod g+s /var/www
Чтобы также настроить подкаталоги: find /var/www -type d -exec chmod g+s {} +
Это заставит все вновь созданные файлы наследовать группу родительского каталога, а не пользователя.
Чтобы установить разрешения группы по умолчанию, вам нужно будет использовать ACL . Установите «ACL по умолчанию»:
setfacl -m "default:group::rwx" /var/www
Чтобы также настроить подкаталоги: find /var/www -type d -exec setfacl -m d:g::rwx {} +
Примечание. В файловой системе должна быть включена поддержка ACL. Иногда он включен по умолчанию; на ext3 или ext4 вы можете получить «Операция не поддерживается», и в этом случае она должна быть включена вручную:
Для текущей смонтированной файловой системы: mount -o remount,acl /
Постоянно - один из способов ниже:
на уровне fstab: отредактируйте, /etc/fstab
чтобы иметь acl
в поле опций
на уровне файловой системы: tune2fs -o acl /dev/diskname
chmod
что также получит все файлы.
install
, каким-то образом обходят списки ACL по умолчанию.
/var/www/html/projects
папка, и когда www-data создает файл, у него есть rw-rw-r
разрешения, но когда я что-то делаю в консоли, он создает файл с rw-r--r
. Как заставить новые файлы всегда иметь rw-rw-r
разрешения?
umask
. Права доступа к каталогу по умолчанию можно изменить, используя, setfacl
как в основном посте.
Возможно, некоторые люди застряли с ответом «grawity» на setgid, если группа папки отличается от вашей, вам может потребоваться запустить chmod от имени пользователя root, но вы не получите никакой ошибки, указывающей, что вам нужно это сделать.
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set
Группа файлов, создаваемых пользователем, является группой этого пользователя (в / etc / group). Разрешения контролируются параметром UMASK, смотрите это
stor
/appe
? Через HTTPPUT
? Через шелл аккаунт? Эти детали важны, потому что они сильно влияют на возможные ответы и должны быть в вашем вопросе.