유닉스에 대한 잘못된 권한을 가진 파일을 찾는 방법?


14

디렉토리 또는 디렉토리를 검색하고 공용 디렉토리에 대한 권한이 잘못된 모든 파일을 나열하는 방법을 찾고 있습니다.

답변:


15

귀하의 질문은 더 명확하게 언급 될 수 있습니다. 공용 디렉토리에 대한 "잘못된 권한"이란 무엇입니까?

디렉토리를 755로 만들고 일반 파일을 644로 가정하면 다음과 같이합니다.

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

-o는 무엇을합니까? OR과 같은 의미입니까?


3
이 특별한 경우 RTFM은 여러 레벨의 찾기 설정을 고려할 때 도움이되지 않습니다. -o가 -type 또는 -perm과 연관되어 있는지 알아내는 것은 특히 혼란 스럽습니다.
Lighthart

나는 내 의견에 동의하지 않습니다. 문제는 "-o가 무엇을합니까? OR과 같은 의미입니까?"였습니다. "expr1 -o expr2 Or; expr1이 참이면 expr2는 평가되지 않습니다."
0x89

Btw. 우선 순위에 대한 질문은 맨 페이지의 동일한 단락에서 처리됩니다. "우선 순위가 낮은 순서대로 나열되는 연산자"및 "두 행의 표현식은 묵시적 ​​'and'로 결합됩니다. expr1이 그릇된.").
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.