1580, 2/79 회원가입  로그인  
   파란바다
   find 명령어중 -perm 옵션에서 -,+의 차이

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1836 [복사]



안녕하세요.

ftz 레벨 1을 클리어 해보신 분은
find -perm -4000 에서 -의 의미에대해서 궁금해보셨을 겁니다.

오늘은 이거에 대해서 공부해보도록 하겠습니다.^^:


일단 간단하게 파일퍼미션을 보겠습니다.
ls -al 을 하면
drwxrwxrwx    5 guest    guest     1413120  7¿ù 29 04:21 .
drwxr-xr-x   44 root     root         4096  1¿ù 15  2009 ..
-rw-------    1 guest    guest        1599  7¿ù 29 05:11 .bash_history
-rw-r--r--    1 root     root          224 12¿ù  1  2009 .bash_profile
-rw-r--r-x    1 root     root          151 12¿ù  1  2009 .bashrc
drwxrwxr-x    2 guest    guest        4096  7¿ù 29 03:34 .pwn3
-rw-------    1 guest    guest       12288  7¿ù 29 04:17 .test.c.swp
-rw-------    1 guest    guest        2993  7¿ù 29 03:49 .viminfo
-rwxrwxr-x    1 guest    guest       11755  7¿ù 29 03:49 1
-rw-rw-r--    1 guest    guest         126  7¿ù 29 03:49 1.c
drwxrwxr-x    2 guest    guest        4096  7¿ù 29 03:47 aa
drwxrwxr-x    2 guest    guest        4096  7¿ù 29 04:56 test
이렇게 나오는 데 맨앞부분이 퍼미션입니다.


퍼미션(권한)을 사용하는 이유는, 예를 들어서 내가 고생해서 만든 파일, 다른 사람이 와서, 지우면 기분더럽겠죠?(일반사용자)
또는, 친구간에 읽기만 할 수 있게 공유할 파일인데 어떻하죠?(그룹) 내가 혹시라도 내파일을 잘못건드릴까봐 걱정되죠?(소유자)



맨앞글자에 d는 디렉토리즉 폴더고, -는 일반파일입니다. 그밖에 심볼릭링크 등등있습니다.
그 다음부분인 9자가 권한을 나타내는 데,
d/rwx/rwx/rwx 여기서 d는 디렉토리를 나타낸다고했죠?
d다음에 처음으로 나오는 rwx는 소유자에대해서, 그다음은 그룹에대해서, 마지막은 그외에 일반유저에대해서 입니다. (r는 read 즉 읽기, w는 write 즉 쓰기, x는 execute 즉 실행입니다.)
소유자, 그룹 , 일반유저(소유자도 그룹도아닌 사람)에 대해서 각각 따로 설정할 수 있습니다.

파일퍼미션에대해서는 간단하게 다루겠습니다.
네이버에서 퍼미션을 검색하면, 그림으로 자세히 설명한 블로그 많이 나오니,
한번 보고오세요.^^;




먼저 find 메뉴얼을 봐야겠죠?
telnet으로 ftz.hackerschool.org 를 접속해주세요.
guest로 로그인해주세요.

man find를 입력해주시면
영어로 어쩌구저쩌구 나오는데, perm부분이 나올 때까지 enter를 눌러줍니다.~


                 -perm mode
                        File's  permission  bits are exactly mode (octal or
                        symbolic).  Symbolic modes use mode 0 as a point of
                        departure.

                 -perm -mode
                        All  of  the  permission  bits mode are set for the
                        file.

                 -perm +mode
                        Any of the permission bits mode  are  set  for  the
                        file.

-perm mode 는 그냥 정확히 같은 퍼미션을 가진 파일찾는 거니까 무시해주고,

-mode 와 + mode 를 봅니다.

-perm -mode  : 퍼미션 비트 모드중에 모든 것이 파일에 대하여 설정된 것
-perm +mode :  퍼미션 비트 모드중에 하나라도 파일에 대하여 설정된 것
정도 되겠네요. 이하 발번역이었습니다.

뭔소리인지 모르겠죠?
직접 해봅시다. 참고로 touch 는 파일생성, chmod는 권한변경하는 명령어입니다.
touch 1
touch 2
touch 3
.....
touch 7
까지 입력합니다.

그다음에
chmod 100 1
chmod 200 2
...
chmod 700 7
까지 입력합니다.

ls -l 을 입력했을 때
---x------    1 guest    guest           0  7¿ù 29 04:33 1
--w-------    1 guest    guest           0  7¿ù 29 04:33 2
--wx------    1 guest    guest           0  7¿ù 29 04:33 3
-r--------    1 guest    guest           0  7¿ù 29 04:33 4
-r-x------    1 guest    guest           0  7¿ù 29 04:33 5
-rw-------    1 guest    guest           0  7¿ù 29 04:33 6
-rwx------    1 guest    guest           0  7¿ù 29 04:33 7
이렇게 나옵니다.

그럼 이제 실험을 해볼까요?

-find -perm -300을 입력해주세요.
-find -perm +300을 입력해주세요.

[guest@ftz test]$ find -perm +300
.
./1
./2
./3
./5
./6
./7
[guest@ftz test]$ find -perm -300
.
./3
./7
[guest@ftz test]$


짠! 이런 결과가 나옵니다.


---x------    1 guest    guest           0  7¿ù 29 04:33 1
--w-------    1 guest    guest           0  7¿ù 29 04:33 2
--wx------    1 guest    guest           0  7¿ù 29 04:33 3
-r--------    1 guest    guest           0  7¿ù 29 04:33 4
-r-x------    1 guest    guest           0  7¿ù 29 04:33 5
-rw-------    1 guest    guest           0  7¿ù 29 04:33 6
-rwx------    1 guest    guest           0  7¿ù 29 04:33 7
이부분을 다시 봐주세요.

300은 write 와 execute 권한을 소유자에게 준거죠?
파일 1은 소유자에게 execute 권한이 있고, find -perm +300에서 검색되었습니다.
파일 2는 소유자에게 write 권한이 있고, find -perm +300에서 검색되었습니다.
파일 3은 소유자에게 write 와 execute 권한이 있고, find -perm +300과 find -perm -300에서 검색되었습니다.
파일 4는 소유자에게 read 권한이 있고, 어디서도 검색되지않았습니다....
이걸로 무엇을 알 수 있을까요?

파일 3과 7의 공통점은 무엇일까요?
파일7은 소유자에게 rwx 권한을 줬고,
파일 3은 소유자에게 wx 권한을 줬습니다.
우리가 검색한 300은 소유자에게 wx권한이죠?

이쯤 되면 아@!
find -perm +mode는  mode에있는 권한중에서 하나만이라도 만족하면,
출력해주고
find -perm -mode는 mode에있는 권한중에서 모두를 만족해야지,
출력해준다는 걸 알 수 있겠죠?

마지막으로 문제 !
a라는 파일이 있는데 퍼미션은 321입니다.
find -perm -311 을 하면 a라는 파일을 찾을까요? 못찾을까요?


주의사항 : 혹시 문제가 생기거나 이상하다 싶은 부분이 있으면, 꼭 덧글남겨주세요!
+와 -의 차이에 대해서 궁금해서 정리한 문서이기때문에
정확하지 않을 수 있습니다. 꼭 지적해주세요!

  Hit : 24010     Date : 2011/08/04 04:42



    
phpmyadmin 2011/11/25  
1560   sdsdfdfgfh[4]     witched14
11/06 35301
1559   텔넷이안되 이상하게뜸[2]     dygks3157
09/02 35138
1558   리눅스 명령어 마스터 1[78]     소유
09/02 34367
1557   초보자를 위한 C++ 강좌 - 씹어먹는 C++ !![2]     kevin0960
03/06 32027
1556     [re] 텔넷이안되 이상하게뜸[1]     enrjfenrjf
05/10 31428
1555   리눅스의 거의 모든 명령어?[314]     소유
10/05 30968
1554   각 라우터 디폴트 비번     ROK.AF
02/09 28857
1553   패스워드 알아내기 2[17]     geniusevil
12/18 26193
1552   batch파일 만들기 - 1. 초보 연습[2]     qkreoghks00
11/18 25922
1551   [War Game] webhacking.kr 가입을해보자.[12]     푸른하늘
03/06 25620
1550   웹 게시판들의 웹실행파일 업로드 취약점(파일명 필터링 우회)[19]     dual5651
03/28 24552
  find 명령어중 -perm 옵션에서 -,+의 차이[1]     파란바다
08/04 24009
1548   해킹 관련 사이트 목록입니다.[12]     wlwjsan
11/09 23673
1547   왜 C 이어야 하는가 ?[96]     소유
04/09 23417
1546   [펌]리눅스에서 Apache2, Tomcat5, JSP, Oracle9i 연동하기[1]     shin3199
05/30 22772
1545   자바가상머신 JVM 메모리 조정하기[1]     rootguy
12/05 22461
1544   [자작] 무선랜 WEP 보안을 뚫어보자.<1>[6]     kjwon15
03/04 22304
1543   ftz 서버 구축해보기[15]     파란바다
09/10 21796
1542   [자작] 자동해킹 USB에 대해서[4]     namjmnam
11/21 21370
1541   리눅스 명령어 마스터 2[27]     소유
09/03 21022
[1] 2 [3][4][5][6][7][8][9][10]..[79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com