Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
nfsv4 und no_root_squash – Bug oder Feature?!
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
l3u
Advocate
Advocate


Joined: 26 Jan 2005
Posts: 2328
Location: Konradsreuth (Germany)

PostPosted: Sat May 17, 2014 6:15 pm    Post subject: nfsv4 und no_root_squash – Bug oder Feature?! Reply with quote

Ich bin gerade dabei ein NAS einzurichten, und dabei ist mir folgendes aufgefallen: Trotz der Option "no_root_squash" hat man mit root nur dann Schreibzugriff auf eine Freigabe, wenn sie ein bind-mount ist. Beispiel:

Ich habe folgende Exports:
Code:
# cat /etc/exports
/srv/nfs        192.168.178.0/24(rw,fsid=0,no_subtree_check)
/srv/nfs/1      192.168.178.0/24(rw,no_root_squash,no_subtree_check)
/srv/nfs/2      192.168.178.0/24(rw,no_root_squash,no_subtree_check)

Wenn ich diese einbinde …
Code:
# mkdir /mnt/1 /mnt/2
# mount.nfs4 skoni:/1 /mnt/1 -o rw,vers=4,_netdev
# mount.nfs4 skoni:/2 /mnt/2 -o rw,vers=4,_netdev

… dann sehen sie identisch aus:
Code:
# mount | grep mnt
skoni:/1 on /mnt/1 type nfs4 (rw,vers=4,addr=192.168.178.80,clientaddr=192.168.178.80,_netdev)
skoni:/2 on /mnt/2 type nfs4 (rw,vers=4,addr=192.168.178.80,clientaddr=192.168.178.80,_netdev)

Aber ich kann nur in /mnt/1 als root schreiben:
Code:
# touch /mnt/1/foo
# touch /mnt/2/foo
touch: cannot touch '/mnt/2/foo': Permission denied

Der Unterschied ist, dass die Freigabe 1 ein bind-mount ist, und die Freigabe 2 einfach nur ein Verzeichnis:
Code:
# mount | grep /srv
/var/tmp/1 on /srv/nfs/1 type none (rw,bind)

Sollte das nicht egal sein? Oder müssen alle Exports aus dem virtuellen nfsv4-root-Verzeichnis bind-mounts sein?
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sat May 17, 2014 10:42 pm    Post subject: Reply with quote

Ob alle Verzeichnisse im virtuellen Root per bind gemountet werden müssen, weiß ich nicht. Aber no_root_squash bedeutet:

http://wiki.ubuntuusers.de/NFS
Quote:
Bindet man per NFS Verzeichnisse ein, die auf dem Server dem User root gehören, werden diese auf den User nobody gemappt und man kann diese nicht modifizieren. Um dieses Sicherheitsfeature zu umgehen, dient der Parameter 'no_root_squash' (weitere Info mit man 5 exports).
Back to top
View user's profile Send private message
l3u
Advocate
Advocate


Joined: 26 Jan 2005
Posts: 2328
Location: Konradsreuth (Germany)

PostPosted: Sun May 18, 2014 11:37 am    Post subject: Reply with quote

Mir ist schon klar, was no_root-squash bedeutet. Mir ist nur nicht klar, ob ich einen Bugreport schreiben soll, weil es nur funktioniert, wenn die Freigabe ein bind-mount ist ;-)
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1733
Location: St. Wendel

PostPosted: Sun May 18, 2014 12:13 pm    Post subject: Reply with quote

AFAIK Working as intended, vergleiche auch https://wiki.gentoo.org/wiki/NFSv4#NFS_shares
Back to top
View user's profile Send private message
l3u
Advocate
Advocate


Joined: 26 Jan 2005
Posts: 2328
Location: Konradsreuth (Germany)

PostPosted: Sun May 18, 2014 5:57 pm    Post subject: Reply with quote

Jaja, ich hab auch gelesen, dass man die zu exportierenden Verzeichnisse per bind-mount in das virtuelle root-Export-Verzeichnis einbaut. Da steht aber nichts davon, dass man das muss, weil es sonst zu unerwartetem Verhalten kommen kann … deswegen sieht das eben für mich doch wie ein Bug aus, weil eigentlich sollte doch der nfsd gar nicht wissen, ob ich einen bind-mount oder ein „blankes“ Verzeichnis habe, oder?

[edit]
Okay, dann hätten wir das auch geklärt: https://bugzilla.kernel.org/show_bug.cgi?id=76431
Ist tatsächlich ein Feature, kein Bug ;-)

Liegt daran, dass der Export ein Unterverzeichnis des "root"-Exports ist, der restriktivere Einstellungen hat und "no_subtree_check" aktiviert ist. So richtig kann ich das zwar aus der Manpage nicht rauslesen, aber scheinbar gehört das so.

Wäre natürlich zu überlegen, ob man das im Wiki nicht explizit nennt, weil vielleicht hat jemand anderes das selbe "Problem" und löst es damit, einfach nfsv3 statt nfsv4 zu nehmen … man liest ja verschiedentlich, dass nfsv4 Probleme machen würde. Vielleicht ist das ja eines davon …
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Mon May 19, 2014 7:32 am    Post subject: Reply with quote

Ich glaub, Dein Problem ist einfach der wunde Punkte bei NFS. Es ist zwar ausführlich dokumentiert. Aber leider versteht man nur die wenigsten Sachen, bzw. liest es sich äußerst komplex.

Als ich damals meine Netzwerkstruktur zusammengebastelt hab (Portage auf NFS, Root-Laufwerk vom Notebook freigeben zwecks chroot-Cross-Compiling, Home-Verzeichnisse freigeben), hab ich auch ziemlich geschwitzt.

Auch die NFS-Startscripte für Systemd waren ein Grauen. Hat mich auch einige Tage gekostet.

An dem Punkt ist bei NFS noch seeeeeeeeeeeeeeeeeeeeeeehr viel Potential vorhanden.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum