Linux ACL – Fix ‘setfacl: x.txt: Operation Not Supported’

access-control-listlinux

What I did and what it did:

> getfacl  x.txt 
# file: x.txt
# owner: cwhii
# group: cwhii
user::rw-
group::r--
other::r--

> groups
cwhii adm dialout cdrom plugdev lpadmin admin sambashare
> setfacl --modify=g:adm:rw x.txt
setfacl: x.txt: Operation not supported
> uname -a
Linux road 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 01:26:53 UTC 2010 i686 GNU/Linux

What I expected was an additional access control entry on x.txt without an error message.

Best Answer

This sounds like the default mount behavior is not allowing ACLs on the filesystem. getfacl will report the normal filesystem permissions without error, but setfacl is unable to operate because the filesystem is mounted without the ACL option.

You can add this in /etc/fstab or by modifying your filesystem options.

Assuming you have the /home filesystem on /dev/sda, you can do the following:

Modify Filesystem method:

sudo /sbin/tune2fs -o +acl /dev/sda

Modify /etc/fstab method:

/dev/sda /home ext3 defaults,acl 1 2

Using either method, the filesystem has to be remounted to take effect. You can accomplish this by rebooting, or by running

sudo /bin/mount -o remount /home