티스토리 뷰

linux 기초 find -perm



  grep 명령어 find -perm (-,+)의 차이




 ↑먼저 루트계정 홈디렉토리에서 ls -al 명령을 사용한 모습입니다.

   # 맨 앞글자 d는 디렉토리(폴더), -는 일반파일 그밖에 심볼릭 링크 등이 있습니다.

   # 그 다음 9가지는 권한을 나타내는데

      → d/rwx/rwx/rwx 여기서 d 다음으로 순서대로 소유자, 그룹, 일반유저에 대한 권한입니다.

      → 소유자, 그룹, 일반소유자에 대해서 각각 따로 권한을 설정할 수 있습니다.

       리눅스 권한 : http://hack-cracker.tistory.com/32(참고)




 ↑'man find ' 명령어를 통해 find명령어의 도움말을 볼 수 있습니다.

   # 그중 -perm 옵션에대해서 보면

        → find -perm mode : 정확히 같은 권한을 가진 파일을 찾는다.

      → find -perm -mode : 부여한 권한을 모두 만족하는 파일을 찾는다.

      → find -perm /mode : 부여한 권한을 하나라도 만족하는 파일을 찾는다.

      → find -perm +mode : find -perm /mode를 대신 사용한다.




  차이점 파악




 ↑1~7까지 파일을 만들어 준뒤, 100~700의 권한을 각각 부여해 줍니다.



 ↑1~7번 파일에 100~700(100단위) 권한이 부여된 모습

   # 파일 이름이 초록색인 이유는 실행 파일( --x,-wx,r-x,-rwx )이기 때문입니다.


 ↑find -perm /300명령을 사용합니다. ( =find -perm +300 )

   # 앞으로 +mode 대신 /mode를 사용합니다.


 ↑find -perm -300명령을 사용합니다.



 ↑권한300은 소유자에게 write와, execute권한을 준것

   # 파일 1은 소유자에게  excute권한이 있고, find -perm /300에서 출력

   # 파일 2는 소유자에게  write권한이 있고, find -perm /300에서 출력

   # 파일 3은 소유자에게 write와 excute권한이 둘다 있고, find -perm -300에서 출력

   # 파일 4는 소유자에게 read권한만 있어서 검색되지 않음

   # 파일 5는 소유자에게 read권한과, excute권한이 있고, find -perm /300에서 출력

   # 파일 6은 소유자에게 read권한과, write권한이 있고, find -perm /300에서 출력

   # 파일 7은 소유자에게 read,write,excute권한 모두 있고, find -perm -300에서 출력


      → 즉, write과 excute 권한 중에 하나라도 있다면 find -perm /300에서 출력되고, write와 excute권한이 모두 있다면, 

          find -perm -300에서 출력 됩니다.

















==============

참고 : 해커스쿨