Solaris has been like this for a very, very long time.

Spencer

On Tue, Joe Little wrote:
> Ok. Well, I can confirm that Linux, NetApp, and it appears FreeBSD
> doesn't do this, so I was hoping that Solaris wouldn't be the odd ball
> here.
> 
> 
> On 10/24/06, Spencer Shepler <spencer.shepler at sun.com> wrote:
> >On Tue, Joe Little wrote:
> >> So, I'll ask the stupid question here if there is anyway to avoid this
> >> from the server, just as disabling this?
> >
> >Unfortunately, no.  There is no tunable in the NFS server to modify
> >the behavior.
> >
> >Spencer
> >
> >>
> >> On 10/24/06, Spencer Shepler <spencer.shepler at sun.com> wrote:
> >> >
> >> >Joe,
> >> >
> >> >With the "chmod g+s" done first, "mandatory file locking" has been
> >> >enabled because the execute bit has not been set.  The NFS server
> >> >doesn't like files that are enabled for mandatory file locking
> >> >because it can be blocked when it goes to read/write from that file 
> >(**).
> >> >
> >> >The failure of "cat" occurs when the client is checking access
> >> >with the ACCESS NFS call and the server sees that mandatory file
> >> >locking is possible on the file (setgid without execute) and will
> >> >deny read/write accesa; therefore, cat fails.
> >> >
> >> >This will occur regardless of client; interesting to note that the
> >> >Solaris chmod command will not allow a "chmod g+s" if the execute
> >> >bit is not set.  It will provide a warning and set the permission
> >> >but without setgid.  The user must ask for the mandatory file locking
> >> >with the +l flag.
> >> >
> >> >Spencer
> >> >
> >> >** The NFS server and underlying filesystems actually have a way to
> >> >avoid blocking the server on mandatory locked files but there is
> >> >a possibility that a filesystem may not abide by all the rules and
> >> >therefore we have a paranoid NFS server.
> >> >
> >> >
> >> >On Tue, Joe Little wrote:
> >> >> Snoop attached, Its ZFS backend
> >> >>
> >> >> Test was to create a file "touch file" over NFS from an ubuntu 6.10
> >> >> client of a B47 OpenSolaris server. That succeeded. I then ran "chmod
> >> >> g+s" without first running "chmod g+x". That succeeds. Finally, I run
> >> >> "cat file" and the resulting snoop is what happens, with a "cat: file:
> >> >> Permissions denied" on the client.
> >> >>
> >> >>
> >> >>
> >> >> On 10/23/06, Spencer Shepler <spencer.shepler at sun.com> wrote:
> >> >> >On Mon, Joe Little wrote:
> >> >> >> I have B47 bits on one of my servers, nad we recently discovered
> >> >> >> something odd. Users from linux clients, if they have add a +s to a
> >> >> >> file's group permissions w/o an +x there first, would actually lose
> >> >> >> read access to the file itself (permission denied). It would seem 
> >that
> >> >> >> the file handles are no longer correct for a rwxr-Sr-x type file
> >> >> >> (incorrect assignment and all).
> >> >> >>
> >> >> >> It took a bit to figure out that added the execute bit returned the
> >> >> >> file to the owner, but why should altering group permissions ever
> >> >> >> effect the owner?
> >> >> >>
> >> >> >> Again, this is only with a Solaris NFS server and so far has been 
> >seen
> >> >> >> on linux NFS clients. It definitely smells/tastes like an error.
> >> >> >
> >> >> >Hi, Joe.
> >> >> >
> >> >> >Info about the underlying filesystem at the Solaris server and a
> >> >> >binary snoop trace of the failing interaction would be the next
> >> >> >steps to determining the root of the problem.
> >> >> >
> >> >> >Spencer
> >> >> >
> >> >
> >> >
> >> >
> >

Reply via email to