[First, a brief apology. I inadvertently posted this message to the
`general'' group when it should have been to the `zfs'' group.
In that last few days I seem to be all thumbs when posting.. and have
created several bumbling posts to opensolaris lists.
]
summary:
A zfs fs set with smb and nfs on, and set chmod g-s (set-gid) with
a local users uid:gid is being mounted by a remote linux host (and
windows hosts, but not discussing that here).
The remote user is the same as the local user in both numeric UID
and numeric GID
The zfs nfs/cifs share is mounted like this on a linux client:
mount -t nfs -o users,exec,dev,suid
Any files/directories create by the linux user end up with
nobody:nobody uid:gid and any attempt to change that from the client
host fails, even if done as root.
Details:
I''m not sure when this trouble started... its been a while, long
enough to have existed over a couple of builds (b129 b133). But was
not always a problem.
I jumped from 129 to 133 so don''t know about builds in between.
I have a zfs_fs .. /projects on zpool z3
this is a hierarchy that is fairly deep but only the top level is zfs.
(Aside: That is something I intend to change soon)
That is, the whole thing, of course, is zfs, but the lower levels have
been created by whatever remote host was working there.
z3/projects has these two settings:
z3/projects sharenfs on
z3/projects sharesmb name=projects
So both cifs and nfs are turned on making the zfs host both a zfs and
nfs server.
Also when z3/projects was created, it was set:
chmod g-s (set gid) right away.
The remote linux user in this discussion has the same numeric UID and
GID as the local zfs user who is owner of /projects
Later, and more than once by now, I''ve run this command from the zfs
host:
/bin/chmod -R A=everyone@:full_set:fd:allow /projects
to get read/write to work when working from windows hosts.
The filesystem is primarily accessed as an nsf mounted filesystem on a
linux (gentoo linux) host. But is also used over cifs by a couple of
windows hosts.
On the linux client host, `/projects'' gets mounted like this:
mount -t nfs -o users,exec,dev,suid
That has been the case both before having the problem and now.
The trouble I see is that all files get created with:
nobody:nobody
as UID:GID, even though /projects is set as normal USER:GROUP of a user
on the zfs/nfs server.
>From the remote (we only deal with the linux remote here) any attempt
to change uid:gid fails, even if done by root on the remote.