UNIX上で不正な権限を持つファイルを見つける方法?


14

1つまたは複数のディレクトリを検索し、パブリックディレクトリに対する誤ったアクセス許可を持つすべてのファイルを一覧表示する方法を探しています。

回答:


15

あなたの質問は、より明確に述べることができます、特に。パブリックディレクトリの「間違った許可」とはどういう意味ですか?

ディレクトリを755、通常のファイルを644にしたい場合、次のようにします。

$ find \! -perm 644 -type f -o \! -perm 755 -type d

-oは何をしますか?ORのような意味ですか?

2
0x89

3
この特定の場合、複数レベルの検索設定を考えると、RTFMはあまり役に立ちません。-oが-typeまたは-permに関連付けられているかどうかを判断しようとすると、特に混乱します。
ライトハート

私は反対することを許します。質問は、「-oの機能は何ですか?ORのようなものですか?」これは「expr1 -o expr2または、expr1がtrueの場合、expr2は評価されません」というmanページで完全に回答されています。
0x89

ところで 優先順位についての質問は、manページの同じ段落で処理されます:「演算子は優先順位の降順でリストされています」および「行の2つの式は暗黙の「and」で結合されます; expr2はexpr1の場合は評価されませんfalse。」)。
0x89

5

これは私のために働いた

find .  \! -perm +755

\!フラグの手段ではないと-permオプションは、通常のchmodコマンドのオプションを使用しています


3

すべては「不正な許可」とみなされるものに依存します。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.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.