* 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).