xxxよりも大きな権限を持っていますが、SUIDとSGIDを無視するファイルを見つける方法

xxxよりも大きな権限を持っていますが、SUIDとSGIDを無視するファイルを見つける方法

755より大きい権限を持つファイルを見つけようとしています。次の解決策を使用してください。その他の投稿ここで私は私が望むもののほとんどを得ることができました:

find /bin -type f -perm -755 ! -perm 755

これは 755 以下のすべてのエントリを無視しますが、SUID ビットと SGID ビットがセットされたファイルを返します。私はこれを無視したい。 1つのコマンドでこれを実行できますか?どちらも! -perm複数のパラメータを試しましたが、何も機能しません。20004000

私も順次コマンドで2755and を使用しましたが4755、もう一度言いますが、1つのコマンドで両方を扱うことを好みます。

その演算子が役に立つと思います-oが、私が使用している否定パターンを含むパラメータを使用してこれを行う方法がわかりません。頑張った

find . -type f \(-perm -2755 ! -perm 2755 -o -perm -4755 ! -perm 4755\)

しかし、これはpaths must precede expressionエラーを引き起こすだけです。

ベストアンサー1

誰にでも適用可能POSIX互換照会次のように:

find DIR -type f -perm -0755 ! -perm 0755 ! -perm -04000 ! -perm -02000 -print

前述のように、GNU findを使用してsetuidとsetgidテストを! -perm /06000

おすすめ記事