/usr/home

just some random thoughts

Solaris NFSv4

um unter Solaris ein ZFS Dataset via NFS freizugeben reicht folgender Befehl aus:

zfs set sharenfs=ro=plex.intra.net,root=plex.intra.net data/oliver

ro kann dabei natürlich durch rw ersetzt werden. hinter den Parametern ro/rw/root kann man mit = IP/FQDN/@Subnet die Rechner eingrenzen die Zugriff haben sollen.

z.b. ro=@192.168.0.0/24,rw=plex.intra.net,root=192.168.0.16

Wichtig dabei ist, den root Parameter zu setzen, nur dann darf ein anderes System mounten! (sollte wohl anders sein)

gemountet wird dann mit

mount -t nfs4 galactica:/data/oliver /mnt -v

NFSv4 arbeitet nur noch mit usernamen, nicht mehr mit uids/gids. Daher können die uid und gid eines users auf dem Server und den Clients unterschiedlich sein, nur der Name ist ausschlaggebend. Um das Mapping zwischen den Namen und den IDs kümmert sich der rpc.ipmapd (Linux), nfsmapid (Solaris) bzw. nfsuserd (FreeBSD). Bei allen Clients und Servern muss die gleiche Domain gesetzt werden damit das Mapping klappt. In meinem Beispiel intra.net.

Unter openSUSE in /etc/idmapd.conf:

Domain = intra.net

Unter Solaris:

sharectl set -p nfsmapid_domain=intra.net nfs
zum überprüfen:
sharectl get -p nfsmapid_domain nfs

Anstatt einer UID (z.B. 103, 1000) wird nun der Name (z.B. Oliver@intra.net) übertragen.

Falls Probleme auftreten sollte man mal versuchen auf Solaris seite in der /etc/nfssec.conf die Zeile mit # AUTH_NONE auszukommentieren. Hier scheint die absprache mit Linux über die zu verwendende Auth-Methode nicht zu klappen.
siehe: http://blogs.fau.de/anfalas/2009/09/22/nfs-security-mit-opensolaris-client-und-linux-server/