Я установил ACL по умолчанию, чтобы разрешить мне что-либо делать с вновь записанными файлами. Но Apache, кажется, игнорирует это, и у меня нет доступа к вновь созданным файлам. Как это исправить?
2 ответа
Если вы имеете в виду разрешения, которыми управляет 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), которые появляются примерно в то же время и были отказано
Я оставляю другой ответ, так как он действителен для другого вопроса!
Сначала вам нужно изменить umask, под которым работает Apache
sudo echo "umask 117"> /etc /sysconfig /httpd
это приведет к тому, что файлы, создаваемые apache, будут иметь вид chmod'd 660 (хорошая идея - noexec)
а затем добавить себя в группу apache
sudo usermod -aG apache MYSELF