ZFS & NFS

Patrick M. Hausen hausen at punkt.de
Fri Mar 16 18:34:58 UTC 2012


Hello,

Am 16.03.2012 um 18:42 schrieb Slawa Olhovchenkov:
> On Fri, Mar 16, 2012 at 06:32:43PM +0100, Patrick M. Hausen wrote:
> 
>> Hello,
>> 
>> Am 16.03.2012 um 18:20 schrieb Slawa Olhovchenkov:
>>> I do NFSv3 export of ZFS.
>>> root from remote host create files on ZFS witch uid 2^32-2:
>>> 
>>> # ls -l /usr/ports/packages32/
>>> total 6
>>> drwxr-xr-x  2 4294967294  wheel  5 Mar 17 00:57 All
>>> drwxr-xr-x  2 4294967294  wheel  5 Mar 17 00:57 Latest
>>> drwxr-xr-x  2 4294967294  wheel  3 Mar 17 00:52 archivers
>>> drwxr-xr-x  2 4294967294  wheel  4 Mar 17 00:57 lang
>> 
>> 
>> Yes? This is expected behaviour of NFS. If you don't want that, try
>> 
>> 	-maproot=root
>> 
>> either in sharenfs option to zfs or /etc/exports, whichever it is you are using.
> 
> hmm...
> nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin
> 
> 65534 != 4294967294 (2^16-2 != 2^32-2)
> 
> Also, I am think ZFS+NFS will be wrong for UID>2^15.

I admit I overlooked that one (16 vs 32 bits). But if I'm not mistaken, NFS does not care
a bit about the name of the user "nobody" or the UID in /etc/passwd or what-have-you.
It simply sets the UID of remote root (UID 0) to the value -1.

And 4294967294 happens to be -1 in 32 bits signed. So - possibly this is built into
ZFS this way. I would at least give the sharenfs="..." options a try ...

HTH,
Patrick
-- 
punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe
Tel. 0721 9109 0 * Fax 0721 9109 100
info at punkt.de       http://www.punkt.de
Gf: Jürgen Egeling      AG Mannheim 108285





More information about the freebsd-stable mailing list