Я создал 4 веб-сайта в папке / var / www / html /.
Учетная запись, которую я использую для доступа к серверу, через мою счет harleyfrank
.
Теперь права доступа root: www-data с 755 и должны быть рекурсивными. Однако при загрузке данных из моего аккаунта harleyfrank он просто устанавливает разрешения для меня, и я получаю ошибку apache из-за разрешений.
Я следил за этими веб-сайтами:
Но Странно то, что он применяет harleyfrank: www-data с правами на чтение и запись только к harleyfrank. Я не уверен, как это исправить.
Обновление 1-15-2018
После ответа Джорджа я попытался создать глобальный набор sudo setfacl -d -R -m u:root:rwx,g:www-data:rw,o::r /var/www/html
, однако он не применяет разрешения. Он все еще использует мое имя пользователя при загрузке файлов.
Вот то, что разрешения устанавливаются ACL:
getfacl: Removing leading '/' from absolute path names
# file: var/www/html
# owner: root
# group: www-data
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:root:rwx
default:group::r-x
default:group:www-data:rw-
default:mask::rwx
default:other::r--
В одной из веб-папок я сделал ls -la
и вот результаты.
drwxrwxr-x+ 3 root www-data 4096 Jan 15 19:52 .
drwxrwxr-x+ 6 root www-data 4096 Jan 12 21:35 ..
-rwxrwxr-x 1 root www-data 169 Jan 12 22:05 index.html
drwxrwxr-x+ 9 root www-data 4096 Jan 12 23:16 projects
-rw-rw-r--+ 1 harleyfrank harleyfrank 871 Jan 15 19:52 test_results.txt
Я загрузил test_results.txt, и он не читает в apache, так как говорит, что у меня нет прав на просмотр файла. Тем не менее, он показывает разрешения на чтение в группе другого. Может быть, apache2 запускает все с www-данными?
Чтобы исправить это, используйте команду setfacl
для установки разрешений и владельцев по умолчанию:
sudo setfacl -d -R -m u:harleyfrank:rwX,g:www-data:rwX,o::r /var/www/html
Информация:
-d
: установить по умолчанию новые папки будет наследовать его автоматически -R
: рекурсивный -m
: изменить существующие разрешения и владельцев u:harleyfrank:rwX
: дать пользователю root
rwx
на папки и файлы g:www-data:rwX
: дать пользователю www-data
rwX для папок o::r
: предоставить другим read
права на папки