kern/177087: Wrong gid on file creations

Lowell Gilbert freebsd-bugs-local at be-well.ilk.org
Wed Mar 20 15:40:01 UTC 2013


The following reply was made to PR kern/177087; it has been noted by GNATS.

From: Lowell Gilbert <freebsd-bugs-local at be-well.ilk.org>
To: Tuc <tuc at t-b-o-h.net>
Cc: <freebsd-gnats-submit at freebsd.org>
Subject: Re: kern/177087: Wrong gid on file creations
Date: Wed, 20 Mar 2013 11:34:45 -0400

 Tuc <tuc at t-b-o-h.net> writes:
 
 > On 2013-03-18 17:24, Lowell Gilbert wrote:
 >> Tuc <tuc at t-b-o-h.net> writes:
 >>
 >>>>How-To-Repeat:
 >>> $ cd /tmp
 >>> $ touch foo
 >>> $ ls -l foo
 >>> -rw-r--r--  1 tuc  wheel  0 Mar 18 20:36 foo
 >>> $ grep tuc /etc/passwd
 >>> tuc:*:1001:1001:Tuc:/home/tuc:/bin/sh
 >>> $ id
 >>> uid=1001(tuc) gid=1001(tuc) groups=1001(tuc),0(wheel)
 >>> $ cd /var/tmp
 >>> $ touch foo
 >>> $ ls -l foo
 >>> -rw-r--r--  1 tuc  wheel  0 Mar 18 20:37 foo
 >>>
 >>> root at e-nfs-01:/root # mkdir /foo
 >>> root at e-nfs-01:/root # chmod 777 /foo
 >>> root at e-nfs-01:/root # exit
 >>> logout
 >>> $ cd /foo
 >>> $ touch foo
 >>> $ ls -l foo
 >>> -rw-r--r--  1 tuc  wheel  0 Mar 18 20:39 foo
 >>
 >> What group were you expecting?
 >>
 >> Those directories normally belong to the wheel group, so new
 >> subdirectories will be too.
 
 >
 > Expecting the primary group listed on my id. I guess I never realized
 > that it used the parents group. I expected it to give the id/group
 > that I belong to.
 
 On some systems (SystemV-ish), the euid/egid are used by default, and I
 think the sgid bit can be set on the directory to change that to the BSD
 style. The BSD behaviour is the only one that POSIX requires.
 
 I believe that ACLs can be used to get the type of permissions you want,
 but I don't know the syntax offhand.
 
 > The basis of the reason for my interest is that I'm trying to use
 > NAS4Free, and when I create a volume and export it out NFS, every file
 > is getting the wheel group there too. I'm expecting it to pick up the
 > group of the user like our NetApp does. I tested on Linux, and when I
 > do the same things in /foo it creates it with my id/group, not the one
 > above. If I was to just use a normal FreeBSD NFS setup, how can I make
 > it pick up the user/group of the person creating the file (We are
 > using it exported to a farm of CentOS...We wanted FreeBSD due to ZFS).
 
 Normally, for directories where anyone can create their own files or
 directories, we use the sticky bit. /tmp is set up this way, for example.
 And normally every account has a home directory, owned by them and their
 personal group.


More information about the freebsd-bugs mailing list