2

Я использую Ubuntu Server 14.04.2 LTS и установил acl с помощью sudo apt-get install acl .

Я пытаюсь создать папку www в /srv , к которой веб-сервер имеет доступ для чтения / записи в дополнение к моей учетной записи пользователя. Я хочу, чтобы все будущие папки и файлы, созданные в /srv/www наследовали разрешения, пользователя и группу.

Вот мой прогресс:

cd /srv

sudo mkdir www

sudo chown -R ryan:www-data www/

sudo chmod -R a-rwx www/

sudo chmod -R ug+rwX www/

sudo setfacl -Rdm u:ryan:rwX,g:www-data:rwX www/

getfacl www/

Выход:

# file: www/
# owner: ryan
# group: www-data
user::rwx
group::rwx
other::---
default:user::rwx
default:user:ryan:rwx
default:group::rwx
default:group:www-data:rwx
default:mask::rwx
default:other::---

Проблема в том, что всякий раз, когда я создаю новый файл или папку в www/ права наследуются, но не владелец или группа. Как получить владельца и группу для наследования? Я думал, что указание пользователя или группы между двоеточиями: [пользователь или группа]: приведет к их наследованию?

1 ответ1

0

Указание пользователя / группы между двоеточиями означает, что эти разрешения применяются к этому пользователю / группе. Так, например, у вас может быть режим папки 0600, но он может быть прочитан случайным пользователем через ACL user:user:randomuser:rwx .

Вы можете выполнить chmod g+s /srv/www чтобы файлы / папки наследовали его группу. Вы не можете наследовать пользователя в Linux (в некоторых системах это может сделать chmod u+s /srv/www ). Обычно в этом нет необходимости, поскольку вы можете использовать ACL для предоставления любых разрешений любым пользователям / группам, которые вы хотите.

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