Назад | Перейти на главную страницу

linux setfacl разрешение другому пользователю и возможность писать рекурсивно

У меня есть буксирный пользователь в той же группе 1. Пользователь 1: datauser 2. Пользователь 2: webuser 3. Группа: apache

Какой набор разрешений с помощью setfact для любого из пользователей может создать рекурсивный каталог / файл.

Пример: directory / web / foo / Какое разрешение / маска установлены (с использованием setfact), чтобы пользователь данных / веб-пользователь мог создать каталог в 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

Umask и chmod не работают.
[datauser] $ mkdir foo
[datauser] $ chmod g + ws foo
[datauser] $ umask 002 foo

[datauser] $ getfacl foo
файл: foo
владелец: группа данных: apache
флаги: -s-
пользователь :: rwx
группа :: rwx
другое :: r-x

Теперь создайте каталог с помощью webuser: apache user [PHP: mkdir (/ web / foo / browser, 0755, ture); ] И разрешение каталога: [datauser] $ getfacl foo / browser / file: foo / browser /
владелец: apache
группа: apache
флаги: -s-
пользователь :: rwx
группа :: r-x
другое :: r-x

Теперь создайте файл в директории браузера. в получении разрешения отказано.

[datauser] $ touch foo / browser / command.txt
touch: не может коснуться ‘foo / browser / command.txt’: в доступе отказано

Как насчет использования chmod g+ws /web/foo? Это устанавливает setgid и write бит в каталоге, что делает все созданные группы файлов apache в этом каталоге и разрешает всем apache сгруппируйте пользователей для записи в этот каталог и создайте в нем дополнительные каталоги.

И еще что вам нужно сделать, это обновить свой umask так что по умолчанию эта группа имеет права на запись. Итак, вам следует добавить umask 002 где-нибудь в ваших файлах запуска, чтобы эта группа по умолчанию получила права на запись.