PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NFSv4: UID und GID mapping



Iluminat23
26.10.14, 23:10
Hallo,

ich bin mit meinem Latain am Ende. Ich versuche auf meinem Server Daten per NFSv4 bereit zu stellen. Bei NFSv4 sollten ja die Usernamen das relevante sein uns nicht die UID/GID welche auf den verschiedenen systemen unterschiedlich sein können.

Ich habe zwei user Bob und Alice.



UID Server
UID Client


Bob
1000
1000


Alice
2008
1001


Datein für Bob werden alle korrekt angezeigt und auch das zugreifen geht wie gewohnt.

Auf dem server wurde ein Verzeichnis angelegt welches Alice gehört (UID:1001).
stat auf das Verzeichnis (server):


File: `/srv/srvroot/alice/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fe20h/65056d Inode: 60686337 Links: 2
Access: (0700/drwx------) Uid: ( 1001/ alice) Gid: ( 1001/ alice)
Access: 2014-10-22 08:13:11.513343995 +0200
Modify: 2014-10-19 21:50:49.001582000 +0200
Change: 2014-10-20 00:00:33.103844000 +0200
Birth: -

stat auf das Verzeichnis (client)


File: ‘/mnt/server/alice/’
Size: 4096 Blocks: 8 IO Block: 262144 directory
Device: 1fh/31d Inode: 60686337 Links: 2
Access: (0700/drwx------) Uid: ( 2008/ alice) Gid: ( 2008/ alice)
Access: 2014-10-22 08:13:11.513343995 +0200
Modify: 2014-10-19 21:50:49.001582000 +0200
Change: 2014-10-20 00:00:33.103844000 +0200
Birth: -


Die UID und GID scheinen richtig gemappt zu werden. Wenn ich nun versuche als Alice auf dem Client in das Verzeichnis zu wechseln kommt Permission denied. Wenn ich nun auf dem Client als Alice ein Verzeichnis anlege sieht das stat so aus (server):


File: `/srv/srvroot/asdf/foo/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fe20h/65056d Inode: 60751874 Links: 2
Access: (0700/drwx------) Uid: ( 2008/ UNKNOWN) Gid: ( 2008/ UNKNOWN)
Access: 2014-10-26 23:43:30.077743504 +0100
Modify: 2014-10-26 23:14:14.933441670 +0100
Change: 2014-10-26 23:43:25.581894218 +0100
Birth: -

stat auf dem client:


File: ‘/mnt/server/asdf/foo/’
Size: 4096 Blocks: 8 IO Block: 262144 directory
Device: 1fh/31d Inode: 60751874 Links: 2
Access: (0700/drwx------) Uid: (65534/ nobody) Gid: (65534/ nobody)
Access: 2014-10-26 23:43:30.077743504 +0100
Modify: 2014-10-26 23:14:14.933441670 +0100
Change: 2014-10-26 23:43:25.581894218 +0100
Birth: -


Als User Alice kann ich auch in das Verzeichnis /mnt/server/asdf/foo/ wechseln und Dateien anlegen. Als User Bob kann ich dies nicht. Von den Berechtigungn verhällt sich das NFS mount also wie NFSv3. Aber die UIDs und GIDs werden gemappt und angezeigt.

Was muss ich machen, dass die Berechtigungen auch korrekt umgesetzt werden?

So sehen meine configs aus:
/etc/exports

/srv/export 10.23.0.0/24(rw,fsid=root,no_subtree_check,sync) 10.23.1.0/24(rw,fsid=root,no_subtree_check,sync) 10.23.2.0/24(ro,fsid=root,root_squash,no_subtree_check,sync)
/srv/export/filesrv 10.23.0.0/24(rw,nohide,no_subtree_check,sync) 10.23.1.0/24(rw,nohide,no_subtree_check,sync) 10.23.2.0/24(ro,root_squash,no_subtree_check,sync)

/etc/defaults/nfs-kernel-server

# Number of servers to start up
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=--manage-gids
NEED_SVCGSSD=no
RPCSVCGSSDOPTS=

/etc/defaults/nfs-common (server)

NEED_STATD=
STATDOPTS=
NEED_IDMAPD=yes
NEED_GSSD=no

/etc/idmap.conf (server)

[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = local.lan
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup


/proc/mounts (client)

consus:/filesrv /mnt/server nfs4 rw,nosuid,nodev,relatime,vers=4.0,rsize=262144,wsi ze=262144,namlen=255,hard,proto=tcp,port=0,timeo=6 00,retrans=2,sec=sys,clientaddr=10.23.0.2,local_lo ck=none,addr=10.23.255.252 0 0

Grüße
iluminat23

marce
27.10.14, 18:54
aktuell kann ich nichts konkretes sagen, vielleicht komme ich morgen dazu, das mal im Büro kurz nachzustellen (mit 2 Systemen geht das irgendwie einfacher als mit einem :-) - grundlegend kannst Du aber mal einen Blick in's Logfile des Servers werfen, ggf. findet sich da was hilfreiches.