linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Help with user ID mapping?
@ 2018-08-09 18:07 mrsvd1v4rgo1
  2018-08-15 18:36 ` J. Bruce Fields
  0 siblings, 1 reply; 2+ messages in thread
From: mrsvd1v4rgo1 @ 2018-08-09 18:07 UTC (permalink / raw)
  To: linux-nfs

Hi All,

I'm trying to get a NFS4 client & server id mapping working right.

My client mounts to a couple of NFS4 servers.

I want to get it setup so that for just ONE of them, files added to or modified on the server BY my local client, logged in EITHER as my user or root, get written with a specific user/group ==  "nobody:users"

I'm pretty sure that all the magic is done with idmapd config.

This is what I put together after reading the docs and a bunch of posts online.  Obviously I'm still doing something wrong.

On my Desktop I have an autofs mount

	cat /etc/auto.nfs4 | grep TEST
		TEST     -fstype=nfs,vers=4,_netdev,rw,proto=tcp,async,soft,cto,user,sec=sys,exec,nosuid,nodev,fsc,forcedirectio,rsize=32768,wsize=32768  nas.my.lan:/data/media1

I've got local users of

	id nobody
		uid=65534(nobody) gid=65533(nobody) groups=65534(nogroup),65533(nobody)

	id testuser
		uid=1000(testuser) gid=100(users) groups=6(disk),0(root),494(serviio),33(video),10(wheel),100(users)

	id root
		uid=0(root) gid=0(root) groups=6(disk),494(serviio),100(users),0(root)

And a mapping config of

	cat /etc/idmapd.conf
		[General]

		Verbosity = 0
		Pipefs-Directory = /var/lib/nfs/rpc_pipefs
		Domain = localdomain

		[Mapping]

		Nobody-User = nobody
		Nobody-Group = nobody


When I create files on the server from my local client as either a normal user or root

	cd /mnt/NFS4/TEST
	whoami
		testuser
	touch test1.txt
	su
	whoami
		root
	touch test2.txt

Locally, it looks like I end up with "nobody:nobody"

	ls -al test*
		-rw-r--r-- 1 nobody nobody 0 Aug  9 10:31 test1.txt
		-rw-r--r-- 1 nobody nobody 0 Aug  9 10:31 test2.txt


On the Server, the export is

	grep vol /etc/exports
		/data/media1     10.1.1.0/24(rw,sync,no_wdelay,insecure,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

Users are

	id nobody
		uid=99(nobody) gid=99(nobody) groups=99(nobody)

	id testuser
		uid=1026(testuser) gid=100(users) groups=100(users),101(administrators),1023(http)

	id root
		uid=0(root) gid=0(root) groups=0(root),2(daemon),19(log)

	id 1025
		uid=1025(guest) gid=100(users) groups=100(users)

and the mapping file is

	cat /etc/idmapd.conf
		[General]
		Verbosity = 0
		Pipefs-Directory = /var/lib/nfs/rpc_pipefs
		Domain = my.lan

		[Mapping]
		Nobody-User  = nobody
		Nobody-Group = nobody

		[Translation]
		Method = nsswitch

		[Static]

But still

	cd /data/media1
	ls -al test*
		-rw-r--r-- 1 1000 users 0 Aug  9 10:31 test1.txt
		-rw-r--r-- 1 root root  0 Aug  9 10:31 test2.txt

I'll be the 1st to admit that I'm having a heckuva time understanding this mapping biz! :-/

What do I need to change in my config so i end up with

	cd /data/media1
	ls -al test*
		-rw-r--r-- 1 nobody users 0 Aug  9 10:31 test1.txt
		-rw-r--r-- 1 nobody users  0 Aug  9 10:31 test2.txt

on this and only this server?  I.e., so I can use THIS mapping for THIS server, and OTHER mappings for OTHER servers.

Thanks for any help!

Arnie

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Help with user ID mapping?
  2018-08-09 18:07 Help with user ID mapping? mrsvd1v4rgo1
@ 2018-08-15 18:36 ` J. Bruce Fields
  0 siblings, 0 replies; 2+ messages in thread
From: J. Bruce Fields @ 2018-08-15 18:36 UTC (permalink / raw)
  To: mrsvd1v4rgo1; +Cc: linux-nfs

On Thu, Aug 09, 2018 at 11:07:32AM -0700, mrsvd1v4rgo1@airpost.net wrote:
> I'm trying to get a NFS4 client & server id mapping working right.
> 
> My client mounts to a couple of NFS4 servers.
> 
> I want to get it setup so that for just ONE of them, files added to or
> modified on the server BY my local client, logged in EITHER as my user
> or root, get written with a specific user/group ==  "nobody:users"

You should be able to do that by just adding "all_squash" to the export
options in /etc/exports for that one client.

> I'm pretty sure that all the magic is done with idmapd config.

This is a common source of confusion.  NFSv4 idmapping only deals with
names and IDs that are sent in NFSv4 protocol messages--when setting or
getting file owners and groups, or ACLs.

It's the underlying RPC protocol that tells the server who is performing
a given RPC.  That always uses numeric IDs or krb5 principals, and isn't
affected by anything in idmapd.conf.

--b.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-08-15 21:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-09 18:07 Help with user ID mapping? mrsvd1v4rgo1
2018-08-15 18:36 ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).