У меня есть веб-файлы, хранящиеся на моем сервере. На данный момент полный доступ есть только у рута:

drwxr-xr-x  6 root www-data  directory
-rw-r--r--  1 root www-data  file.php

Проблема в том, что разработчики хотят использовать собственную учетную запись su - myuser для доступа и изменения этих файлов.

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

Какая у меня альтернатива?

2 ответа2

0

Я считаю, что вам нужно использовать X, а не X для исполняемого файла.

Шаг 1: Создать резервную копию

Сначала сделайте резервную копию, если когда-нибудь что-нибудь пойдет не так:

mkdir ~/storage-changes
sudo getfacl -R /var/www > ~/storage-changes/default_www_facl

(Incase) для восстановления

sudo setfacl --restore=~/storage-changes/default_www_facl 

Применить ACL

Затем примените к группе:

# -R is recursive
# -m is modify
# -d applies to default ACL

sudo chgrp -R www-data /var/www
sudo setfacl -Rd g:www-data:rwX /var/www
sudo setfacl -Rdm g:www-data:rwX /var/www

ls -lta /var
sudo getfacl /var/www

Знак + в конце списка file/dir означает только то, что он имеет дополнительные ACL.

0

Если ваш сервер Linux не слишком старый и вы используете стандартную файловую систему для Linux, вы можете использовать списки контроля доступа для предоставления разрешений другим пользователям.

Например, следующая команда предоставит права на чтение и запись пользователю myuser для file: setfacl -m user:myuser:rw file

Возможно, потребуется установить setfacl , в зависимости от вашего дистрибутива.

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