Benutzerberechtigungen im NFS-gemounteten Verzeichnis

10

Ich habe Oracle Linux 6.7, einen NFS-Server unter Windows, und ich versuche, einen freigegebenen Ordner unter Linux bereitzustellen.

Der Windows NFS-Server verfügt über einen gemeinsam genutzten Mount:

192.168.1.10:/OracleBK

Auf meinem Oracle Linux-Server habe ich einen Ordner erstellt, / orabackup, und der Oracle-Benutzer aus der Installationsgruppe ist der Eigentümer dieses Ordners:

mkdir /orabackup
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
mount -t nfs -o rw 192.168.1.10:/OracleBK /orabackup

Die entsprechende Zeile / etc / fstab lautet

192.168.1.10:/OracleBK /orabackup nfs defaults 0 0

Der Befehl zum Mounten des verwendeten Ordners lautet:

mount /orabackup

Jetzt wird der Ordner "orabackup" gemountet.

Der Oracle-Benutzer kann jedoch nicht lesen und schreiben und benötigt Lese- und Schreibberechtigungen für dieses Verzeichnis. Der Root-Benutzer kann lesen und schreiben.

Was sollte getan werden, um dem Oracle-Benutzer die vollständigen Berechtigungen zu erteilen?

saeed.sh
quelle
4
Wenn es sich unter Windows um einen NFS-Server handelt, fügen Sie dem Beitrag das Produkt / die Software hinzu, mit dem Sie dies tun können.
Rui F Ribeiro

Antworten:

11

NFS überprüft die Zugriffsberechtigungen anhand von Benutzer-IDs (UIDs). Die UID des Benutzers auf Ihrem lokalen Computer muss mit der UID des Eigentümers der Dateien übereinstimmen, auf die Sie auf dem Server zugreifen möchten.

Ich würde vorschlagen, zum Server zu gehen und sich die Dateiberechtigungen anzusehen. Zu welcher UID (herausfinden mit id username) gehören sie und welche Berechtigungen sind festgelegt?

Und wenn Sie der einzige sind, der auf die Dateien auf dem Server zugreift, können Sie den Server so tun lassen, als ob alle Anforderungen von der richtigen UID stammen. Dafür hat NFS die Option all_squash. Es weist den Server an, alle Anforderungen dem anonymen Benutzer zuzuordnen, der durch anonuid, anongid angegeben wird.

Fügen Sie diese Optionen hinzu: all_squash,anonuid=1026,anongid=100zum Export in /etc/exports.

Seien Sie jedoch gewarnt, dass dadurch jeder, der den Export bereitstellt, effektiv zum Eigentümer dieser Dateien wird.

Monsun
quelle
Mein NFS-Server ist Windows Base und für NFS unter Windows legen wir Berechtigungen für die IP-Adresse meines Linux-Betriebssystems fest.
saeed.sh
1
Sie sollten in Ihrer Frage angegeben haben, dass Ihr NFS tatsächlich Windows war.
Monsun
Die Datei / etc / export ist für den NFS-Server und sollte auf dem NFS-Server konfiguriert werden. Im Client sollten wir dieser Datei keine Zeile hinzufügen. Stimmt das?
saeed.sh
Bitte überprüfen Sie hier, ob dies Ihr Problem löst: unix.stackexchange.com/questions/213837/…
Monsun
@ Monsune ist es notwendig, UIDs abzugleichen? Funktioniert es nicht, wenn nur GIDs übereinstimmen?
REDDY PRASAD
1

Sie legen die Attribute für den Einhängepunkt fest und sie zählen nicht viel. Du musst tun

chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup

erneut (als root) nach dem Mounten /orabackup, um die Attribute des freigegebenen Ordners festzulegen.

G-Man sagt "Reinstate Monica"
quelle
1
Nach dem Mounten, wenn ich chown -R oracle: oinstall / orabackup schreibe, wird dieser Fehler ausgelöst: [root @ it ~] # chown -R oracle: oinstall / orabackup / chown: Eigentümerwechsel von `/ orabackup / ': Berechtigung verweigert
saeed.sh
1
Ich stimme Monsune zu: Die Tatsache, dass Ihr NFS-Server Windows-basiert ist, erschwert die Sache. Können Sie in der Dokumentation der NFS-Serversoftware nachsehen, ob es eine Möglichkeit gibt, den Besitz des Verzeichnisses über die Windows-Box zu ändern und / oder dem "Root" -Benutzer auf dem Client vollen Zugriff auf die Freigabe zu gewähren Ordner?
G-Man sagt 'Reinstate Monica'
Root-Benutzer können in diesem Verzeichnis lesen und schreiben. aber ich möchte die Erlaubnis zum Orakelbenutzer erhalten.
saeed.sh
Mein Punkt ist, dass root laut Ihrem vorherigen Kommentar keine Berechtigung dazu hat chown. Vielleicht war "vollständiger Zugriff" der falsche Weg, dies auszudrücken; Ich meinte "volle Rechte" oder "volle Privilegien".
G-Man sagt "Reinstate Monica"