Назад | Перейти на главную страницу

Параметры ACL не наследуются должным образом при создании подкаталога

Я пытаюсь расширить списки ACL на подкаталоги, которые создаются в родительском элементе, но по какой-то причине одна из моих групп переключается на #effective r-x, и маска меняется. Любые идеи? есть какая-то маска по умолчанию?

Administrator@MyServer ~
$ setfacl -m d:u:Someuser:r-- somedir

Administrator@MyServer ~
$ getfacl somedir/
# file: somedir/
# owner: Administrator
# group: None
user::rwx
group::r-x
group:user1:r-x
group:user2:rwx          
mask:rwx
other:r-x
default:user::rwx
default:group::r-x
default:group:user1:r-x
default:group:user2:rwx
default:mask:rwx
default:other:r-x

-mkdir /somedir/somedir

Administrator@MyServer ~
$ getfacl somedir/somedir
# file: somedir/somedir
# owner: Administrator
# group: None
user::rwx
group::r-x
group:user1:r-x
group:user2:rwx      #effective:r-x       
mask:r-x
other:r-x
default:user::rwx
default:group::r-x
default:group:user1:r-x
default:group:user2:rwx
default:mask:rwx
default:other:r-x

Вы абсолютно уверены, что использовали mkdir somedir/somedir и не использовал -pвариант как mkdir -p somedir/somedir ?

Так как mkdir -p имеет неприятную ошибку в дистрибутиве <= 2014 (coreutils <8.22), см. Конфликты между ACL и umask

Записи ACL, применимые к подкаталогам: default: и mask:

$ getfacl somedir/
default:group:user1:r-x
default:group:user2:rwx
default:mask:rwx
default:other:r-x

В по умолчанию: маска: rwx, поэтому подкаталог должно было:

group:user1:r-x
group:user2:rwx
mask:rwx

Но маска mask:r-x, поэтому разрешение снижено до r-x:

group:user2:rwx      #effective:r-x  
mask:r-x

Чтобы лучше понять связь между разрешениями группы Unix и ACL, прочтите Почему chmod (1) в группе влияет на маску ACL?

Вывод

  • Не использовать mkdir -p когда вы используете ACL (если вы не запускаете Debian / Jesise, RHEL7 ...)
  • Решите вашу проблему с chmod g+w somedir/somedir или setfacl -m mask:rwx somedir/somedir