Apache-Benutzerzugriff auf NFS von Windows2012 bis Centos7

Apache-Benutzerzugriff auf NFS von Windows2012 bis Centos7

Ich habe eine NFS-Freigabe von einem Windows 2012-Server auf einem meiner Centos7-Webserver gemountet.

Ich möchte, dass mein Webserver Dateien aus der NFS-Freigabe erstellt und liest. Ich hatte früher eine ähnliche Lösung unter Windows 2008 und Centos6, aber nach dem Upgrade der Server habe ich Probleme.

UID und GID sind in den W2012-NFS-Optionen festgelegt und korrekt.

[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

Die NFS-Freigabe und ihre Berechtigungen funktionieren mit dem Root-Benutzer.

[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

Aber wenn ich versuche, mit PHP von meiner Website aus zu lesen oder zu schreiben, wird mir die Berechtigung verweigert.

PHP-Code (Versuch, einen Ordner zu erstellen und eine Datei zu lesen):

// 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-Fehlerprotokoll:

[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

Dasselbe Problem, wenn ich versuche, als Apache-Benutzer von SSH aus zu laufen:

[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

Im Moment habe ich versucht, "Jeder" NTFS-Berechtigungen auf der Windows-Seite zu geben, CHMOD 0777 so weit wie möglich auf dem Centos-Server und SELinux ausgeschaltet - nur um irgendwelche Probleme damit auszuschließen.

Hat jemand eine Idee, warum der Apache-Benutzer nicht auf die NFS-Freigabe lesen oder schreiben kann?

Update Nr. 1:

Beim Erstellen von Dateien mit dem Apache-Benutzer wurde „tail -f /var/log/audit/audit.log“ aktiviert. Ich kann keinen Unterschied im Protokoll erkennen, wenn ich eine Datei z. B. in /external oder in /external/NFSShare erstelle, wo mir die Berechtigung für NFSShare verweigert wird.

Habe „tcpdump -i any dst windowsserver“ geprüft, wo ich die NFS-Anforderung erhalte, wenn ich eine Datei mit dem Root-Benutzer erstelle, aber nichts, wenn ich es mit dem Apache-Benutzer versuche. Sieht also so aus, als ob mein Centos-Server die Anforderung ablehnt, bevor etwas an den Windows-Server gesendet wird.

verwandte Informationen