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

Почему пользователь X не может писать в каталог, несмотря на то, что в каталоге установлен ACL по умолчанию: user: X: rwx?

Насколько я понимаю, выглядит все это неплохо: iammedemo владеет каталогом, но iammme имеет default:user:iamme:rwx, так что если что, iamme должен быть таким же привилегированным, как iammedemo, и иметь возможность делать что угодно в каталоге:

[iamme@iamme-demo:~/IAMME]$ ls -last /tmp/badDir                                                  
total 28
 4 drwxr-xr-x+   2 iammedemo users  4096 Jun 22 00:50 .
24 drwxrwxrwt  220 iamme     users 20480 Jun 22 00:50 ..

[iamme@iamme-demo:~/IAMME]$ getfacl /tmp/badDir                                                   
getfacl: Removing leading '/' from absolute path names
# file: tmp/badDir
# owner: iammedemo
# group: users
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:iamme:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

Но мне, должно быть, чего-то не хватает:

[iamme@iamme-demo:~/IAMME]$ touch /tmp/badDir
touch: setting times of '/tmp/badDir': Permission denied                                       

[iamme@iamme-demo:~/IAMME]$ touch /tmp/badDir/foo                                                 
touch: cannot touch '/tmp/badDir/foo': Permission denied      

Это симптом того, что в каталоге заданы только списки ACL по умолчанию, которые предоставляют ACL для новых файлов, созданных, например, владелец каталога. Вы также должны предоставить ACL для самого каталога.

Итак, вам понадобятся оба

sudo setfacl -d -m "user:iammedemo:rwX" /tmp/badDir
sudo setfacl    -m "user:iammedemo:rwX" /tmp/badDir # Notice the missing -d