私たちはFreeBSD 10.3ホスティングサーバーを使用しており、スーパーユーザー権限を持っていません。当社のWebページはapache2を実行しているサーバーを使用しています。私たちのページの以前の管理者がそのディレクトリにACL権限を設定したようですが、それを削除したいと思います。ディレクトリ名があるとしますfoobar
。
これで結果ls -al foobar
は次のようになります。
drwxrwxr-x+ 2 myuser another_user 512 Nov 20 2013 foobar
そして権限は次のとおりです。
[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x
ここでは、ACL権限と権限リストの末尾にあるプラス記号を削除しようとしています。だから私たちはそうでした。
setfacl -b foobar
ACLによって管理されている特別な権限は削除されますが、プラス記号は削除されません+
。
+
私たちの質問は、「ls -al foobar」に示すように、権限リストからプラス記号を削除する方法です。
答え1
私たちの問題は、以下を使用して解決されました。
setfacl -bn foobar
重要なのは、-nオプションを使用してディレクトリからディレクトリも削除する必要があることです。aclMaskのマニュアルページはsetfacl
次のとおりです。
-n Do not recalculate the permissions associated with the ACL mask
entry. This option is not applicable to NFSv4 ACLs.
このオプションがなぜ機能するのかわかりませんが、うまくいきます...
d?????????
上記の回避策を実行した後に権限を取得したら、次の2つの説明を試してくださいchmod -R a+rX
。
答え2
再帰オプションを試してください。
setfacl -R -b foobar
-n オプションは不要