web-dev-qa-db-ja.com

ディレクトリにdefault:user:X:rwx ACLがあるにもかかわらず、ユーザーXがディレクトリに書き込めないのはなぜですか?

私が理解しているように、これはすべて良さそうです。iammedemoはディレクトリを所有していますが、iammmedefault: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      
1
bbarker

これは、ディレクトリにデフォルトのACLのみを指定した場合の症状であり、たとえば、によって作成された新しいファイルのACLを提供します。ディレクトリの所有者。 またディレクトリ自体にACLを提供する必要があります。

したがって、両方が必要になります

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