特定のACLがあるファイル/ディレクトリを見つける方法

特定のACLがあるファイル/ディレクトリを見つける方法

似たようなことをする方法

find . -acl u:jim:rx
find . -acl u:*:r
find . -noacl u:jim:r

など。

findコマンドはそれをサポートしていないことを知っていますが、アイデアは得られます。一部の特定のシナリオでも動作するスクリプトはありますか?

注1:私は特にDebianに興味がありますが、すべての* nix OSで動作します。

ノート2:この質問は実際のケースに焦点を当てていますが、実際にはより一般的です。 ACL関連のファイルを見つけるための良いツールは何ですか?

ベストアンサー1

再帰オプションを含むgetfaclツールを使用すると、デフォルトのACLのみを含むファイルを-Rスキップ-sして出力をgrep

たとえば、/devディレクトリ内で次のコマンドを実行すると、次の結果が表示されます。

$ getfacl -Rs . | awk -v RS= -v ORS='\n\n' '/\nuser:jimmij:rw-\n/'

# file: sg1
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---

# file: sr0
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---

(...)

ファイル名のみを印刷するには:

getfacl -Rs . | awk -v RS= '/\nuser:jimmij:rw-\n/ {sub(/\n.*/, ""); sub(/^[^:]*: /, ""); print}'

おすすめ記事