2人のユーザー(AliceとBob)がいます。 Bobはls
Aliceのホームディレクトリを一覧表示できるはずです。また、アリスのホームディレクトリにはボブも読めるファイルがあります。
ルートとして次のコマンドを実行します。
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/
[root@corvatsch ~]# setfacl -m user:bob:r /home/alice/file
これにより、ACL に次の結果が生成されます。
[root@corvatsch ~]# getfacl -c /home/alice/
user::rwx
user:bob:r--
group::---
mask::r--
other::---
そして
[root@corvatsch ~]# getfacl -c /home/alice/file
getfacl: Removing leading '/' from absolute path names
user::rw-
user:bob:r--
group::r--
mask::r--
other::r--
BobはAliceのホームフォルダとファイルの内容を読むことができるようです。
Bobがこれを試してみると、次のような結果が得られます。
[bob@corvatsch ~]$ ls -l /home/alice/
ls: cannot access /home/alice/file: Permission denied
total 0
-????????? ? ? ? ? ? file
(疑問符に注意してください!)と
[bob@corvatsch ~]$ cat /home/alice/file
cat: /home/alice/file: Permission denied
奇妙な方法ですが、Bobがホームディレクトリを読むことができるようです。 lsはファイルを一覧表示しますが、ACLに問題があると思いますか?
そして、cat
ファイルがまったく機能しないようです。
誰かが私が逃したことを説明できますか?
メモ:(私はCentOS 6.4を実行しています)
答え1
この/home/alice/
ディレクトリにアクセスするユーザーには、実行可能なアクセス権が必要です。
編集:ところで、疑問符はls
ファイルに対する権限を取得できないことを示します。