Mein Verzeichnis ist root:
pwd
/
Ich habe folgendes Verzeichnis:
drwxrwxrwx 4 root root 81920 Jun 4 09:25 imr_report_repo
HINWEIS: imr_report_repo
ist eine NFS-Freigabe.
Hier ist die fstab
Auflistung für imr_report_repo
:
netapp1:/imr_report_repos_stage /imr_report_repo nfs rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1 1
d imr_report_repo
Eine Datei in mount:
$ ls -al
-rw-r--r-- 1 502 502 1273 Mar 21 2013 imr1_test.txt
Die UID 502 existiert nicht. Wenn wir diese UID / GID lokal hinzufügen:
$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy
Es zeigt sich jetzt:
$ ls -al
-rw-r--r-- 1 jimmy jimmy 1273 Mar 21 2013 imr1_test.txt
Wechseln Sie nun zu root:
$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted
Antworten:
Hat
root
normalerweise keine besonderen Berechtigungen für NFS-Freigaben. Im Gegenteil:root
wird einem normalen Benutzer zugeordnet (dh hat nicht einmal "normalen" Lese- und Schreibzugriff aufroot
Dateien).Sie müssen
chown
auf dem NFS-Server ausgeführt werden.quelle
In der Regel ist es dem lokalen Root-Benutzer auf NFS-Clients untersagt, diese Art von Aktivitäten auf von NFS bereitgestellten Freigaben auszuführen. NetApp scheint dies wie folgt zu verändern:
/etc/nsswitch.conf
Datei angegebenen Reihenfolge nachgeschlagen , um die entsprechende UID zu ermitteln, die von der Option anon zugewiesen werden soll.So wie es aussieht, hat die NetApp NFS-Freigabe die Standardoption Nr. 1. Sie können dies bestätigen, indem Sie eine Datei auf der NFS-Freigabe als Root berühren und sehen, welche ID sich daraus ergibt.
Sie sollten in der Lage sein, die exportierten Optionen der NFS-Freigabe
mount -v
auf Ihrem NFS-Client anzuzeigen.Verweise
quelle
Ein NetApp NFS-Server ändert standardmäßig die Anmeldeinformationen des Root-Benutzers auf einem Client in uid 65534 auf dem Server, sodass Vorgänge wie
chown
fehlschlagen. Um dies zu ändern, bearbeiten Sie die Exportliste im Filer so, dass die Zeile für das Dateisystem den Parameter enthältroot=clientid
, wobei clientid die IP-Adresse oder der Hostname des Clients ist, auf den Sie Root-Zugriff auf dieses Dateisystem haben möchten. Führenexportfs -a
Sie dann aus, wenn Sie die Befehlszeilenschnittstelle des Filers verwenden.quelle
Wie slm Kommentar oben sagte,
Die verwendete Funktion heißt Rot Squash . Weitere Informationen hier . In meinem Fall bestand die einzige Möglichkeit darin, sich anzumelden, um den Root-Squash für diesen bestimmten Server zu deaktivieren und ihn später wieder zu aktivieren.
Eine ähnliche Situation tritt auf, wenn Sie
docker
Container mit Volumes verwenden und der Container mit einem nicht privilegierten Benutzer (zUSER apache
. B. ) ausgeführt wird. So ist die Idee der NFS - Mount - Punkte seinr
/w
nur durch dieowner
, und nicht durchroot
eine gemeinsame Sicherheitspraxis.quelle