1つまたは複数のディレクトリを検索し、パブリックディレクトリに対して不適切なアクセス許可を持つすべてのファイルを一覧表示する方法を探しています。
あなたの質問は、特に明確に述べることができます。パブリックディレクトリの「間違った権限」とはどういう意味ですか?
ディレクトリを755、通常のファイルを644にする場合、次のようにします。
$ find \! -perm 644 -type f -o \! -perm 755 -type d
これは私のために働いた
find . \! -perm +755
\!
フラグはそうではないことを意味し、-perm
オプションは通常のchmodオプションを使用します
すべては、「不正な許可」をどのように考えるかによって異なります。 man findは、特定の権限でファイル/ディレクトリを検索する方法を定義することで役立ちます。
-perm -mode
All of the permission bits mode are set for the file. Symbolic modes are
accepted in this form, and this is usually the way in which would want to
use them. You must specify ‘u’, ‘g’ or ‘o’ if you use a symbolic mode.
See the EXAMPLES section for some illustrative examples.
-perm /mode
Any of the permission bits mode are set for the file. Symbolic modes are
accepted in this form. You must specify ‘u’, ‘g’ or ‘o’ if you use a
symbolic mode. See the EXAMPLES section for some illustrative examples.
If no permission bits in mode are set, this test matches any file (the
idea here is to be consistent with the behaviour of -perm -000).
-perm +mode
Deprecated, old way of searching for files with any of the permission
bits in mode set. You should use -perm /mode instead. Trying to use the
‘+’ syntax with symbolic modes will yield surprising results. For exam‐
ple, ‘+u+x’ is a valid symbolic mode (equivalent to +u,+x, i.e. 0111) and
will therefore not be evaluated as -perm +mode but instead as the exact
mode specifier -perm mode and so it matches files with exact permissions
0111 instead of files with any execute bit set. If you found this para‐
graph confusing, you’re not alone - just use -perm /mode. This form of
the -perm test is deprecated because the POSIX specification requires the
interpretation of a leading ‘+’ as being part of a symbolic mode, and so
we switched to using ‘/’ instead.