PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NFS4, Mapping der user/groups



pixel
06.06.11, 19:54
Hallo zusammen,

ich habe vor einiger Zeit meinen Server (ClearOS 5.1) auf NFS4 umgestellt. Hierbei habe ich noch das Problem dass die Besitzverhältnisse nicht korrekt gemappt werden. Hier meine Konfiguration:

Am Server habe ich die Verzeichnisstruktur unter /srv/nfs4 für den Export zusammengestellt.



# /etc/fstab
# Zusammenstellen der Shares für NFSv4 in /srv/nfsv4
/home /srv/nfsv4/home auto bind 0 0
/media/data/flexshare/shares/backup /srv/nfsv4/backup auto bind 0 0
/media/data/flexshare/shares/bibli /srv/nfsv4/bibli auto bind 0 0
/media/data/flexshare/shares/dokus /srv/nfsv4/dokus auto bind 0 0
/media/data/flexshare/shares/download /srv/nfsv4/download auto bind 0 0
/media/data/flexshare/shares/korrespondenz /srv/nfsv4/korrespondenz auto bind 0 0
/media/data/flexshare/shares/texte /srv/nfsv4/texte auto bind 0 0
/media/data/flexshare/shares/mdaten /srv/nfsv4/mdaten auto bind 0 0
/media/data/flexshare/shares/webdevel /srv/nfsv4/webdevel auto bind 0 0
Im Verzeichnis /srv/nfs4 habe ich folgende User/Gruppen - ID's:

root@sbs nfsv4# ls -l
insgesamt 36
drwxrwx--- 11 flexshare allusers 4096 31. Mai 14:32 backup
drwxrwx--- 18 flexshare allusers 4096 21. Mai 10:48 bibli
drwxrwx--- 24 flexshare allusers 4096 21. Mai 10:54 dokus
drwxrwx--- 65 flexshare allusers 4096 1. Jun 06:56 download
drwxr-xr-x 15 root root 4096 24. Mär 11:08 home
drwxrwx--- 14 flexshare allusers 4096 31. Mai 11:19 korrespondenz
drwxrwx--- 2 flexshare allusers 4096 19. Mai 11:24 mdaten
drwxrwx--- 9 flexshare allusers 4096 15. Mär 17:09 texte
drwxr-xr-x 29 web allusers 4096 6. Jun 18:21 webdevel
Hier ist alles wie es sein soll.

Der eigentliche Export:

/srv/nfsv4 192.168.0.0/24(rw,fsid=0,insecure,no_subtree_check,async,no_ro ot_squash)
/srv/nfsv4/home 192.168.0.0/24(rw,no_root_squash,nohide,no_root_squash,async)
/srv/nfsv4/backup 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/bibli 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/dokus 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/download 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/korrespondenz 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/texte 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/mdaten 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)
/srv/nfsv4/webdevel 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,no_root_squ ash,async)

Später habe ich noch die Datei /etc/idmapd.conf angepasst:

[General]

Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = local.tld

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody
Wobei local.tld meiner lokalen Domände entspricht (BIND).

Am Client OpenSuSE 11.4 mounte ich die Shares mit:

#/etc/fstab
sbs.gehr.edv:/ /srv/nfsv4 nfs4 rw,_netdev,auto,user,rsize=32768,wsize=32768,async 0 0

Am Client habe ich dann die /etc/idmapd.conf ebenfalls angepasst:

[General]

Verbosity=0
Pipefs-Directory=/var/lib/nfs/rpc_pipefs
Domain=gehr.edv

[Mapping]

Nobody-User=nobody
Nobody-Group=nobody
Nach dem mounten habe ich folgende Besitzverhältnisse:

hp6735b:/srv/nfsv4 # l
insgesamt 44
drwxr-xr-x 11 4294967294 4294967294 4096 15. Mär 16:45 ./
drwxr-xr-x 5 root root 4096 6. Mai 19:50 ../
drwxrwx--- 11 4294967294 4294967294 4096 31. Mai 14:32 backup/
drwxrwx--- 18 4294967294 4294967294 4096 21. Mai 10:48 bibli/
drwxrwx--- 24 4294967294 4294967294 4096 21. Mai 10:54 dokus/
drwxrwx--- 65 4294967294 4294967294 4096 1. Jun 06:56 download/
drwxr-xr-x 15 4294967294 4294967294 4096 24. Mär 11:08 home/
drwxrwx--- 14 4294967294 4294967294 4096 31. Mai 11:19 korrespondenz/
drwxrwx--- 2 4294967294 4294967294 4096 19. Mai 11:24 mdaten/
drwxrwx--- 9 4294967294 4294967294 4096 15. Mär 17:09 texte/
drwxr-xr-x 29 4294967294 4294967294 4096 6. Jun 18:21 webdevel/

Ich habe mir diverse HowTo's zum Thema angeschaut wie z.B. dieses (http://wiki.archlinux.org/index.php/NFSv4). Hier wird auch das Problem angedeutet:

If you experience Problems like this:

Warning: rpc.idmapd appears not to be running.
All uids will be mapped to the nobody uid.
mount: unknown filesystem type 'nfs4'

(all directories and files on the client are owned by uid/gid 4294967294:4294967294) then you need to set in /etc/default/nfs-common:

NEED_IDMAPD=yes

and restart nfs-common

# /etc/init.d/nfs-common restart
Allerdings habe ich am ClearOS-Server die Datei /etc/default/nfs-common nicht. Die einzige die ich hier finde ist /etc/sysconfig/nfs. Hier stehen einige NFS-Optionen drin sind jedoch alle auskommentiert. Die o.g. Option steht jedoch nicht drin.

Achja, beim Client handelt es sich um ein Notebook auf welchem ich die Shares nur bei Bedarf mounte. Die User/Gruppen sind auf dem Client mit den gleichen UID's/GID's angelegt. Unter NFS3 hat das gereicht damit die Zugriffsrechte passen. Was muß ich ändern damit die User/Gruppen richtig umgesetzt werden?

Viele Grüße
pixel