Назад | Перейти на главную страницу

CentOS 7 acl не работает для apache

Я хочу получить доступ к каталогу пользователя из сценария cgi. Я успешно установил acl для каталога, но скрипт по-прежнему получает сообщение «Permission denied» при попытке доступа к этому каталогу. У меня такая же проблема с apache (так что это не проблема веб-сервера / скрипта). Что мне не хватает?

# getfacl /home/pmedrano/Maildir/cur/
getfacl: Removing leading '/' from absolute path names
# file: home/pmedrano/Maildir/cur/
# owner: pmedrano
# group: pmedrano
user::rwx
user:apache:r-x
group::---
group:apache:r-x
mask::r-x
other::---
default:user::rwx
default:user:apache:r-x
default:group::---
default:group:apache:r-x
default:mask::r-x
default:other::---

# su -s /bin/bash apache
bash-4.2$ ls /home/pmedrano/Maildir/cur/
ls: cannot access /home/pmedrano/Maildir/cur/: Permission denied
bash-4.2$ whoami
apache
bash-4.2$ getfacl /home/pmedrano/Maildir/cur/
getfacl: /home/pmedrano/Maildir/cur/: Permission denied
bash-4.2$

Скорее всего у вас есть SELinux включен - это предотвращает доступ Apache к вашему Maildir независимо от разрешений.

Вы также можете

  1. Отключить SELinux полностью в /etc/sysconfig/selinux - не рекомендуется
  2. Предоставьте Apache доступ к файлам Maildir - проверьте audit2allow инструмент

Имейте в виду, что неправильная настройка SELinux может негативно повлиять на безопасность вашего сервера.