특정 디렉터리에 대해 그룹 섹션에서 어떤 파일에 특정 권한 플래그가 있는지 어떻게 확인할 수 있나요?

특정 디렉터리에 대해 그룹 섹션에서 어떤 파일에 특정 권한 플래그가 있는지 어떻게 확인할 수 있나요?

나는 디렉터리를 가지고 있으며, 어느 그룹에 속해 있는지에 상관없이 해당 그룹 섹션에 쓰기 권한이 있는 모든 파일을 나열하고 싶습니다.

또한 전체 파일 시스템에 대해 어떻게 수행할 수 있습니까?

답변1

find술어 와 함께 사용할 수 있습니다 -perm. ~에서man find(POSIX):

-perm [-]mode

      The mode argument is used to represent file mode bits. It  shall
      be identical in format to the symbolic_mode operand described in
      chmod() , and shall be interpreted  as  follows.   To  start,  a
      template shall be assumed with all file mode bits cleared. An op
      symbol of '+'  shall  set  the  appropriate  mode  bits  in  the
      template;  '-'  shall  clear the appropriate bits; '=' shall set
      the appropriate mode bits, without regard  to  the  contents  of
      process' file mode creation mask. The op symbol of '-' cannot be
      the first character of mode;  this  avoids  ambiguity  with  the
      optional leading hyphen. Since the initial mode is all bits off,
      there are not any symbolic modes that need to  use  '-'  as  the
      first character.

If  the  hyphen is omitted, the primary shall evaluate as true when the
file permission bits exactly match the value of the resulting template.

Otherwise, if mode is prefixed by a hyphen, the primary shall  evaluate
as  true  if at least all the bits in the resulting template are set in
the file permission bits.

따라서 다음을 시도해 볼 수 있습니다.

find /some/path/ -type f -perm -g=w

-type f일반 파일을 테스트합니다. 전체 파일 시스템 /some/path에 대해 /.

관련 정보