setfaclを使用してディレクトリといくつかのファイルを設定しました。
jobq@workstation:~/Pool$ getfacl /etc/jobq
getfacl: Removing leading '/' from absolute path names
# file: etc/jobq
# owner: root
# group: jobq
user::rwx
user:jobq:rw-
group::r-x
group:jobq:rwx
mask::rwx
other::r-x
jobq@workstation:~/Pool$ sudo getfacl /etc/jobq/log.txt
getfacl: Removing leading '/' from absolute path names
# file: etc/jobq/log.txt
# owner: root
# group: jobq
user::rw-
group::rw-
group:jobq:rwx
mask::rwx
other::r--
jobq@workstation:~/Pool$ groups
jobq
ただし、次のようなコマンドを実行すると、
ls -al /etc/jobq
権限エラーが発生します。
ls: cannot access '/etc/jobq/log.txt': Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
ユーザーはjobq
グループに属するため、jobq
ディレクトリへのアクセス権が必要です。私が何か誤解したことがありますか?この問題をどのように解決できますか?
答え1
問題は次のACLにあります/etc/jobq
。
user:jobq:rw-
これは、ユーザーがjobq
ディレクトリを「検索」できず、そのls
内容が表示されないことを意味します。
この問題を解決するには、権限を追加する必要がありますx
。バラよりビットを実行して読み出します。 Linuxでは、ディレクトリ権限はどのように機能しますか?もっと学ぶ。
また、見ることができます「グループ」権限は制限し、「世界」権限は公開しますか?ここでグループ権限が役に立たない理由を理解してください。したがって、別の解決策は、ユーザーACLを削除し、jobq
代わりにグループ権限を使用することです。