Linux setfacl разрешает другому пользователю и может писать рекурсивно
У меня есть два пользователя в одной группе 1. пользователь 1: datauser 2. пользователь 2: webuser 3. Группа: apache
То, что установить разрешение с помощью setfact для любого из пользователей, может создать каталог / файл рекурсивно.
Пример: каталог / web / foo / Какое разрешение / маска установлена (с помощью setfact), чтобы datauser / webuser мог создать каталог под foo dir (рекурсивно).
#datauser : mkdir -p /web/foo/datadir/
#webuser : mkdir -p /web/foo/datadir/webdir
#datauser : touch /web/foo/datadir/webdir/datafile.txt
#webuser : touch /web/foo/datadir/webfile.txt
etc...
I try with below command, but when any directory created using
webuser:apache, then datauser:apache not able to write under that.
setfacl -Rm u:webuser:rwX,d:u:webuser:rwX foo
setfacl -Rm u:datauser:rwX,d:u:datauser:rwX foo
setfacl -Rm m:rwX,d:m:rwX foo
Это умаск и чмод не работают.
[datauser] $ mkdir foo
[datauser] $ chmod g + ws foo
[datauser] $ umask 002 foo
[datauser] $ getfacl foo
файл: foo
владелец: datauser группа: apache
флаги: -s-
Пользователь:: RWX
группа:: RWX
другое:: ого
Теперь создайте каталог, используя webuser:apache user [PHP: mkdir(/web/foo/browser, 0755, ture); ] И разрешение каталога:
[datauser]$ getfacl foo/browser/
file: foo/browser/
владелец: apache
группа: apache
флаги: -s-
Пользователь:: RWX
группа:: гх
другое:: ого
Теперь создайте файл в директории браузера. в получении разрешения отказано.
[datauser] $ touch foo/browser/command.txt
touch: не может касаться 'foo/browser/command.txt': разрешение запрещено
1 ответ
Как насчет использования chmod g+ws /web/foo
? Это устанавливает setgid
а также write
биты в каталоге, что делает группы всех созданных файлов apache
в этом каталоге, и позволяет всем apache
Сгруппируйте пользователей для записи в этот каталог и создания дополнительных каталогов внутри него.
И еще одна вещь, которую вам нужно сделать, это обновить свой umask
так что эта группа имеет разрешения на запись по умолчанию. Итак, вы должны добавить umask 002
где-то в ваших файлах запуска, так что группа получает разрешения на запись по умолчанию.