1579, 1/79 회원가입  로그인  
   yl
   http://yl11.webice.co.kr
   ↓보충. 올바른 검색 조건으로, find명령어를 사용하자.

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


질문과 답변에 글을 쓰다가 갑자기 이쪽에다가 쓰게 되었습니다.

find명령을 씀에 있어서 찾는 파일의 조건을 알맞게 주어야 쉽게 찾을 수 있겠죠.

--
#find명령어를 쓸 때 조건을 어떻게 넣어 줄까?

파일을 찾는 명령어의 사용은

find / -옵션 ㅁ -옵션 ㅁ 2> /dev/null

대충 요런 구조입니다.

옵션에는 user, name, size, perm, group 같은 것들이 올 수 있구요.

설명을 위해 setuid를 이용한 가장 기본적인 문제인 해쿨 level1을 예로 들겠습니다.

level1에서는 level2의 setuid를 가진 파일이 필요하므로.

즉, level1을 level2로 되게끔 해줄 수 있는 파일이 필요하므로 먼저 파일소유자인

user에 값을 level2로 합니다. -> -user level2

그리고 setuid가 걸려 있으므로, 퍼미션을 setuid를 찾을 수 있도록 해야하기 때문에

perm에 값을 -4000으로 합니다. -> -perm -4000

어!? 왜 4000앞에 -가 붙냐구요?

4000은 'setuid'를 말하며 앞에 붙는 -는 '적어도..' 라는 것을 의미합니다.

즉 setuid가 붙은것을 찾겠다는 말이죠.

수학에서 확률문제 풀 떄 보면,

"이름에 'ㄱ'자가 적어도 한개 이상 들어가는 사람이 xx할 확률을 구하라"

요런 문제가 나오듯이, setuid가 걸려있기만 하면 다른 권한이 어떻게 되든지간에

검색 조건에 맞다고 하여 찾아지는 겁니다. -가 안붙으면 찾기가 곤란하겠죠.

그래서 만들어진 내용이 find / -user level2 -perm -4000 입니다.

뒤에 2> /dev/null 은?

'2'는 에러를 말하며 '> /dev/null'은 '>' 앞쪽의 것을 /dev/null 즉 미지의 세계로 보내버린다는 뜻입니다.

뒤에 2> /dev/null을 붙여주면 검색 조건에 맞지 않는, 퍼미션 에러가 나는 것들은 절대로 나오지 않고

조건에 딱 들어맞는 결과만을 표시해 줍니다.

찾은 내용을 텍스트 문서에 넣고 일일이 찾아주는 것보다 효율적이니 꼭 알아두세요.

이렇게 해서..........

level2의 setuid를 가진 파일을 찾는 find명령어가 완성이 됩니다.

완성품 : "find / -user level2 -perm -4000 2> /dev/null"


#정리

find는 파일을 찾을 때 쓰는 명령어이며

find / [조건] 을 써 줘서 조건에 꼭 맞는 파일을 찾을 수 있습니다.

조건으로는 user, group, perm, name, size 등이 있으며

알맞은 조건을 넣어줘야만 파일을 찾기 수월해 집니다.

따라서 찾으려는 파일이 어떤지를 잘 알고 있어야합니다.

조건에 맞는 결과만을 출력되게 하고 싶으면 2> /dev/null 을 뒤에 붙입니다.

#응용을 향해

여러분이 컴퓨터를 하면서 꼭 레벨2의 setuid가 걸린 파일만을 찾지는 않을겁니다.

찾을 파일이 있을 때마다, 그 파일이 어떤 조건을 만족할지를 곰곰히 생각해 본 다음

find명령에 조건을 주어 검색하시면, 원하는 파일을 쉽게 찾으실 수 있을겁니다.

  Hit : 11880     Date : 2003/09/09 06:26
[불법/스팸글로 신고하기]



    
yl find명령어에 대한 설명은 아래 "소유"님의 글을 읽어보세요 ^^ 2003/09/09  
himykim 답변 보충해주셔서 감사합니다. 2003/09/09  
asdf 참고) 0 = 표준입력, 1 = 표준출력, 2 = 에러 2003/09/10
crakerhunter 명령어 2004/02/25  
minjuni level3 2004/03/30  
woohong7 level2 소유의 파일이 검샛 안되는데요 2004/06/23  
labdream find 2004/12/07  
eotjdtm 좋은정보 감사 2006/02/22  
trueness 역시 찾아보니 좀 낫네요.. 완전 맨땅에 해딩인데.. 고맙습니다..ㅋ 2006/03/08  
담임목사 level2 넘어가기 2006/04/05  
bboy6604 역시 예전 글부터 보니까 도움되는 것이 많네요. 출처 밝히고 블로그에 퍼가도록 하겠습니다^^ 2010/05/22  
yooadocjon 와 다양하네요 2011/07/16  
row66 감사 합니다 2012/07/07  
1579   리눅스 명령어 마스터 1[78]     소유
09/02 32487
1578   리눅스 명령어 마스터 2[27]     소유
09/03 19081
1577   유치원 만화 크게보기[11]     소유
09/03 16533
1576   리눅스 명령어 마스터 3[13]     소유
09/04 14913
1575   좋은 비밀번호란???[24]     소유
09/04 17015
1574   리눅스 명령어 마스터 4[13]     소유
09/05 14493
1573   리눅스 명령어 마스터 5[8]     소유
09/06 13414
1572   레이스 컨디션(경쟁 조건)[14]     소유
09/06 12734
1571   리눅스 명령어 마스터 6[7]     소유
09/08 12275
1570   리눅스 명령어 마스터 7[8]     소유
09/09 12301
1569   [특별] find 명령어[7]     소유
09/09 13845
  ↓보충. 올바른 검색 조건으로, find명령어를 사용하자.[13]     yl
09/09 11879
1567   리눅스 명령어 마스터 8 [마지막][44]     소유
09/10 12362
1566   시스템 리소스 99%에 도전하자!![18]     DarkSlayer
09/10 14898
1565     [re] 추가 설명[9]     暴走天使
09/11 8687
1564   네트워크 개념 휘어잡기 1[24]     소유
09/10 17363
1563   허접 팁 Setuid 쉽게 찾기 -_-;[3]     ttongfly
09/10 12920
1562   Linux Root 패스워드 분실시 조치 방법[9]     h41d35
09/10 11598
1561   네트워크 개념 휘어잡기 2[16]     소유
09/11 13026
1560   소켓 프로그래밍[5]     소유
09/11 14041
1 [2][3][4][5][6][7][8][9][10]..[79]

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