2

Мне нужно дать разрешение для двух пользователей в одном каталоге, т.е.

Я запускаю веб-приложение в /var /www и хочу сделать веб-сервер (nginx) доступным для записи, а также хочу предоставить доступ пользователю ftp (/var /www - домашний каталог пользователя ftp). Я пытался с setfacl, но это не работает?

2 ответа2

3
  1. (необязательно) создать группу groupadd groupname
  2. добавить обоих пользователей в группу for u in user1 user2 ; do usermod -aG groupname $u ; done
  3. установить группу в качестве владельца каталога (и файлов внутри) chown :groupname /var/www ; chmod -R g+rwX /var/www
1

ACL должен работать. Вы используете это правильно? Давать рекурсивное правило для существующих файлов и по умолчанию для новых файлов?

sudo setfacl -Rm d:g:<user-group>:rwX,g:<user-group>:rwX /var/www

Даст вашей основной группе права доступа rw для файлов и x для каталогов (для их ввода).

-R: recursive
-m: modify existing rule (used to modify the existing permissions)
d:g:...:rwX: this indicates the default part for new files/directories
g:..:rwX: group to use for the acl
rwX: read, write and change directory allowed (rwx will allow execute on files too)

Команда состоит из двух частей: d:g:..... перед , и g:.... после , первая (d:...) назначит значение по умолчанию для новых файлов / каталогов, а вторая один (g:...) изменит существующие файлы.

Obs: вы также можете использовать acl для пользователей (с u:) или другими (o:) вместо групп (g:)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .