Доступ пользователя apache к NFS с Windows2012 на Centos7

Доступ пользователя apache к NFS с Windows2012 на Centos7

Я смонтировал общий ресурс NFS с сервера Windows 2012 на свой веб-сервер Centos7.

Я хочу, чтобы мой веб-сервер создавал и читал файлы из общего ресурса NFS. У меня было похожее решение на Windows 2008 и Centos6 ранее, но я борюсь после обновления серверов.

UID и GID установлены в параметрах NFS W2012 и являются правильными.

[root@centos external]# ll
drwxrwxrwx  2 apache www-data 4096 Sep 17 16:15 NFSShare


[root@centos external]# df -h
windowsserver:/NFSShare 50G   19G   31G  38% /var/www/external/NFSShare

[root@centos external]# getfacl NFSShare/
# file: NFSShare/
# owner: apache
# group: www-data
user::rwx
group::rwx
other::rwx

Общий ресурс NFS и его разрешения работают с пользователем root.

[root@centos NFSShare]# touch test.txt
[root@centos NFSShare]# ll
total 1
-rwxrwxrwx 1 apache www-data  8 Sep 17 16:15 test2.txt
-rw-r--r-- 1 apache www-data  0 Sep 24 11:10 test.txt

Но когда я пытаюсь прочитать или записать данные со своего сайта с помощью PHP, я получаю сообщение об отказе в доступе.

PHP-код (попытка создать папку и прочитать файл):

// Try create a folder    
mkdir('/var/www/external/NFSShare/123');

// Try to read from file
$file = '/var/www/external/NFSShare/test2.txt';
$homepage = file_get_contents($file);
echo $homepage;

Журнал ошибок PHP:

[root@centos external]# tail /var/log/httpd/website-error_log

[Thu Sep 24 10:21:03.632156 2015] [:error] [pid 15286] [client 172.27.xxx.xxx:56198] PHP Warning:  mkdir(): Permission denied in /var/www/website/modules/users/view/admin/test.php on line 6
[Thu Sep 24 10:21:03.645438 2015] [:error] [pid 15286] [client 172.27.xxx.xxx:56198] PHP Warning:  file_get_contents(/var/www/external/NFSShare/test2.txt): failed to open stream: Permission denied in /var/www/website/modules/users/view/admin/test.php on line 15

Та же проблема, если я попытаюсь запустить как пользователь Apache из ssh:

[root@centos NFSShare]# su -s /bin/sh apache -c "touch /var/www/external/NFSShare/test.txt"
touch: cannot touch ‘/var/www/external/NFSShare/test.txt’: Permission denied

На данный момент я попытался предоставить «Всем» права NTFS на стороне Windows, CHMOD 0777, насколько это возможно, на сервере Centos и отключил SELinux — просто чтобы исключить какие-либо проблемы с этим.

Есть ли у кого-нибудь идеи, почему пользователь Apache не может читать или писать на общий ресурс NFS?

Обновление №1:

Проверил "tail -f /var/log/audit/audit.log" при создании файлов с пользователем apache. Не вижу никакой разницы в журнале, когда я создаю файл в ex. /external или в /external/NFSShare, где я получаю отказ в доступе на NFSShare.

Проверил "tcpdump -i any dst windowsserver", где я получаю запрос NFS при создании файла с root-пользователем, но ничего при попытке с пользователем apache. Похоже, что мой Centos-сервер отклоняет запрос до того, как что-либо отправляется на windowsserver.

Связанный контент