1

I would like to set up a directory such that all new files are group writeable, regardless of the umask setting of the individual user.

I've created a stor group and added all users to it. Then, I created the folder:

$ mkdir uaroot
$ chgrp stor uaroot
$ ls -l
total 4
drwxr-xr-x  2 ua  stor  512 Dec 27 14:35 uaroot

I set the ACLs for it:

$ setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ setfacl -m u::rwx,g::rwx,o::rx,mask::rwx uaroot
$ ls -l
total 8
drwxrwxr-x+ 2 ua  stor  512 Dec 27 14:35 uaroot

I can see the ACLs set as:

$ getfacl uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

$ getfacl -d uaroot
# file: uaroot
# owner: ua
# group: stor
user::rwx
group::rwx
mask::rwx
other::r-x

I thought this will have files inside this directory automatically get group writeable permission, but this wasn't the case:

$ cd uaroot
$ touch a
$ ls -l
total 4
-rw-r--r--+ 1 ua  stor  0 Dec 27 14:38 a

$ getfacl a
# file: a
# owner: ua
# group: stor
user::rw-
group::rwx      # effective: r--
mask::r--
other::r--

What does the effective callout mean above? What am I missing in order to have all files get group writeable permission?

  • I don't see the default keyword from your getfacl results! – George Udosen Dec 28 '18 at 6:59
  • I think you removed the default settings when you ran setfacl -m u::rwx,g::rwx,o::rx,mask::rwx uaroot! Rerun with that -d option. – George Udosen Dec 28 '18 at 7:01
2

You cancelled your earlier setting when you ran setfacl -m ::rwx,g::rwx,o::rx,mask::rwx uaroot, without the -d option and with the -m which modifies the current ACL settings on an object, rerun it with the -d to get what you want.

setfacl -d -m u::rwx,g::rwx,o::rx,mask::rwx uaroot

My test returns:

-rw-rw-r--+ 1 georgek georgek 0 Dec 28 08:04 koko/a

And note that the default keyword is missing as a result of you running that second setfacl command. You need to see

# file: koko/
# owner: georgek
# group: georgek
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x

To be sure the defaults will apply to newly created files in that folder. And the getfacl for the created file for my test is

# file: koko/a
# owner: georgek
# group: georgek
user::rw-
group::rwx                      #effective:rw-
mask::rw-
other::r--
  • Hi George, this is not it. The default ACLs do not get overridden because they are separate and independent of the normal ACLs. I believe you are assuming I'm using Linux when I'm actually using FreeBSD. – Roxy Dec 28 '18 at 9:42
  • Sorry that wasn't stated... – George Udosen Dec 28 '18 at 9:59
  • Thanks for offering. I’ve investigated the issue further and have a more clear question here: unix.stackexchange.com/questions/491272/… – Roxy Dec 28 '18 at 16:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.