Я установил ACL по умолчанию, чтобы разрешить мне что-либо делать с вновь записанными файлами. Но Apache, кажется, игнорирует это, и у меня нет доступа к вновь созданным файлам. Как это исправить?

2 ответа2

1

Если вы имеете в виду разрешения, которыми управляет chmod/grp/own, попробуйте использовать sudo с su ang sg, чтобы стать этим пользователем.

судо

[Пароль]

Sg Apache

су апач

После того, как вы это сделаете, попробуйте использовать cat для чтения этих файлов, если это работает, то все готово!

исправить этот сценарий

chgrp apache -R <FOLDER>

chmod g+rX -R <FOLDER>

В противном случае, если вы говорите о extfs acls, что видно по файлам, имеющим + в их записи ls

[mock @ vbox ~/footest] $ ls -all

-rw-rwxr-- + 1 хауна хауна 0 июл 29 15:14 fileacl

-rw-RW-r--. 1 хауна хауна 0 июл 29 15:13 filenoacl

с этим можно разобраться как следующим

setfacl -mg:apache:rx <FOLDER>

Если вы говорите о selinux, вам нужно изменить контекст по умолчанию для местоположения, где создаются файлы, это ДОЛЖНО быть выполнено от имени пользователя root!

semanage fcontext -a -t httpd_sys_content_t '/srv/httproot(/.*)»

это повлияет на будущие файлы, чтобы повлиять на текущие, используйте это

restorecon -R /srv /httproot

Надеюсь, это прояснит ситуацию,

Я бы оценил пост журнала ошибок для apache и ls -all рассматриваемого каталога, а также любые журналы аудита (в /var/log/audit/audit.log), которые появляются примерно в то же время и были отказано

0

Я оставляю другой ответ, так как он действителен для другого вопроса!

Сначала вам нужно изменить umask, под которым работает Apache

sudo echo "umask 117"> /etc /sysconfig /httpd

это приведет к тому, что файлы, создаваемые apache, будут иметь вид chmod'd 660 (хорошая идея - noexec)

а затем добавить себя в группу apache

sudo usermod -aG apache MYSELF

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