Для файлов, созданных из учетной записи testuser в каталоге / var / www, мне нужно, чтобы у них были g + rwx в качестве разрешений и www-data в качестве группы.
Как мне этого добиться?
Я создаю файлы через SSH.
linux
file-permissions
Mr.Gando
источник
источник
stor
/appe
? Через HTTPPUT
? Через шелл аккаунт? Эти детали важны, потому что они сильно влияют на возможные ответы и должны быть в вашем вопросе.Ответы:
Для того, чтобы установить группу, дайте
/var/www
в setgid бит:Чтобы также настроить подкаталоги:
find /var/www -type d -exec chmod g+s {} +
Это заставит все вновь созданные файлы наследовать группу родительского каталога, а не пользователя.
Чтобы установить разрешения группы по умолчанию, вам нужно будет использовать ACL . Установите «ACL по умолчанию»:
Чтобы также настроить подкаталоги:
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, но вы не получите никакой ошибки, указывающей, что вам нужно это сделать.
источник
Группа файлов, создаваемых пользователем, является группой этого пользователя (в / etc / group). Разрешения контролируются параметром UMASK, смотрите это
источник