Re: Effective process GID is ignored when client creates file on NFS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



В Wed, 7 Nov 2012 20:35:55 +0000
"Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> пишет:

> > -----Original Message-----
> > From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-
> > owner@xxxxxxxxxxxxxxx] On Behalf Of Andrey Borzenkov
> > Sent: Wednesday, November 07, 2012 2:28 PM
> > To: J. Bruce Fields
> > Cc: linux-nfs@xxxxxxxxxxxxxxx
> > Subject: Re: Effective process GID is ignored when client creates
> > file on NFS
> > 
> > В Wed, 7 Nov 2012 14:13:36 -0500
> > "J. Bruce Fields" <bfields@xxxxxxxxxxxx> пишет:
> > 
> > > On Mon, Oct 29, 2012 at 06:09:29PM +0400, Andrey Borzenkov wrote:
> > > > I have met application that is badly broken when installed on
> > > > NFS. The reason is - it expects files to belong to specific
> > > > group. It switches to this group on startup (explicit setgid)
> > > > and creates files. But files come out as belonging to GID 0.
> > > >
> > > > I finally reduced it to this trivial script:
> > > >
> > > > === cut here ===
> > > > #include <sys/types.h>
> > > > #include <sys/stat.h>
> > > > #include <fcntl.h>
> > > > #include <unistd.h>
> > > >
> > > > main()
> > > > {
> > > >         int fd;
> > > >
> > > >         setgid(107);
> > > >         fd = open("bar", O_CREAT, 0666);
> > > >         close(fd);
> > > > }
> > > > === cut here ===
> > > >
> > > > On local storage file comes with GID 107; on NFS file comes
> > > > with GID 0.
> > > >
> > > > Linux is SLES10 SP3 with relatively old kernel:
> > > > 2.6.16.60-0.89.1-smp, server(s) are NetApp with different Data
> > > > ONTAP versions (7.x and 8.1.1 as the last).
> > > >
> > > > Client passes correct credentials (UID:0, GID:107), but does not
> > >
> > > Those are the credentials in the rpc header on the CREATE call?
> > >
> > 
> > Yes.
> > 
> > > > explicitly request file ownership in CREATE call (uid set_it -
> > > > 0, gid set_it - 0).
> > >
> > > The client shouldn't have to set the owner or group itself.
> > >
> > > So this is server behavior.
> > >
> > > Have you checked that the directory you're creating in doesn't
> > > have the sgid bit?
> > 
> > Yes. It does not.
> > 
> > >              Or perhaps there's some other server configuration
> > > that causes this.
> > 
> > It appears that server ignores passed group if UID == 0. It
> > correctly creates files if UID != 0. I got bug number from support
> > but it is non-public and no information is visible so far. I asked
> > about possible workaround (or undocumented options) but have not
> > got any reply as yet.
> 
> So is it possible that you forgot to turn off root squashing on the
> server before testing?
> 

All filesystems are exported with anon=0 in this configuration. But if
root suqashing is active, files should not appear as owned by UID 0,
should not they?
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux