[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cygwin
Subject:    Re: chmod g+s ineffective
From:       Andrey Repin <anrdaemon () yandex ! ru>
Date:       2022-06-30 23:56:01
Message-ID: 463526579.20220701025601 () yandex ! ru
[Download RAW message or body]

Greetings, Norton Allen!

> On 6/29/2022 9:18 AM, Norton Allen wrote:
> > On 6/29/2022 7:39 AM, Andrey Repin wrote:
> > > Greetings, Norton Allen!
> > > 
> > > > On one machine I have, chmod g+s fails to set the sticky bit. The >>> command
> > > > does not return any error, but ls -l continues to show the bit not set.
> > > > $ mkdir foo
> > > > $ chgrp flight foo
> > > > $ chmod g+ws foo
> > > > $ ls -ld foo
> > > > drwxrwxr-x+ 1 nort flight 0 Jun 29 06:50 foo
> > > ----------------^
> > > 
> > > $ getfacl foo
> > 
> > I will collect this shortly, but IIRC, getfacl showed it was not set. > I did see \
> > it set there under 'flags' on the system that works.

> nort@EAS-SOFTWAREE1B ~
> $ ls -ld foo
> drwxrwxr-x 1 nort flight 0 Jun 29 06:25 foo

> nort@EAS-SOFTWAREE1B ~
> $ chmod g+s foo

> nort@EAS-SOFTWAREE1B ~
> $ ls -ld foo
> drwxrwxr-x 1 nort flight 0 Jun 29 06:25 foo

> nort@EAS-SOFTWAREE1B ~
> $ getfacl foo
> # file: foo
> # owner: nort
> # group: flight
> user::rwx
> group::rwx
> other::r-x


> > 
> > 
> > > 
> > > > I ran strace, and it looks like the correct system call parameter is >>> \
> > > > getting passed. I am curious as to how the sticky bit is implemented.
> > > First see if it was set or not.
> > > 
> > > > It isn't obvious what underlying Windows functionality (if any) is >>> \
> > > > applied.
> > > It does. But the big question is, where do you try to do that.
> > > If this is inside Cygwin installation root, then things could work >> more or
> > > less POSIX'y. If this is outside Cygwin root (f.e. in your system >> profile), \
> > > it may or may not work completely, depends how did you mount /cygdrive >> \
> > > prefix.
> > 
> > I will confirm (shortly), but I'm pretty sure these tests were done > under \
> > vanilla /home (so c:\cygwin64\home)


> Confirmed (as shown above). Tested in /home/nort on directory /home/nort/foo


> > 
> > 
> > > 
> > > > Ah, just checked on a system where this works, and creating a file >>> in the
> > > > directory from the
> > > > command shell does not set the group, so presumably this >>> functionality is
> > > > all within cygwin. That works for my application, except when it >>> doesn't.
> > > > Any suggestions on what I should look for?
> > > Look if you could avoid using +s. Isn't DACL enough?
> > 
> > Am I correct that DACL is not available unless I am on a domain? This > is for a \
> > field computer, so connection to a domain is generally more > problematic than \
> > helpful. 

> So is this implemented using DACL under the hood? And is that expected to fail \
> without a domain?

DACL  means "default ACL" or "directory ACL" (which is essentially the same
and meaning ACL's which will be applied to newly created child objects),
as in `setfacl -m 'd:g:flight:rwx,d:m::rwx' dir [...]`.


-- 
With best regards,
Andrey Repin
Friday, July 1, 2022 02:50:30

Sorry for my terrible english...

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic