System/FTZ

[해커스쿨]trainer9

dcho 2019. 7. 20. 15:57
SMALL

이건 시간에는 리눅스의 권한에 대해서 알아본다!

 

이 권한에 관한 개념은 해킹에 있어서 가장 핵심적인 부분이다고 한다. 

F.T.Z의 level별 해킹에서도 이것을 알아야만 문제를 풀수있다.

 

리눅스는 윈도우와 달리 한 서버에 여러 사용자가 접속하여 사용하게 된다.

 

근데 나만 보고 싶은 자료들이 있을텐데 어떠한 방법으로 다른 사람이 나의 파일에 접근하지 못하도록 막는가?

그때 나오는 개념이 바로 권한(Permission)이라는 것.

 

  • ls -al 명령을 사용하여 파일들의 권한에 대한 정보를 출력

  • 리눅스에는 4가지 종류의 사용자가 있다.

  • user, group, other, root

  • user : 이것은 자신을 의미

  • group : 모든 유저는 하나 이상의 그룹에 속하는데 임의로 이 그룹을 변경하지 않는 한 모든 유저는 자신의 유저네임과 같은 이름의 그룹에 속하게 된다.

  • other : 이것은 유저와 그룹을 제외한 모든 다른사람을 의미

  • root : 절대적인 권한을 가지는 사용자

 

[trainer9@ftz trainer9]$ id

uid=2009(trainer9) gid=2009(trainer9) groups=2009(trainer9)

 

  • uid : User ID 의 약자 뒤에 2009라는 숫자는 컴터는 영어보단 숫자를 좋아한다. trainer9를 의미함

  • gid : Group ID 의 약자 

  • groups : 현재 자신이 어떤 그룹에 속해 있는지를 말해줌. 임의로 변경하지 않으면 자신의 uid와 같은 그룹에 속하게 됨

 

rwx rwx rwx

 

이것이 바로 권한에 관한 정보 순서대로 "유저의권한", "그룹의 권한", "아더의 권한" 을 의미!

읽기권한 (r) 4 , 쓰기권한 (w) 2 , 실행권한 (x) 1을 의미한다. 뒤에 숫자는 

 

-rwxrwxrwx    1 trainer9 trainer10        5 10월 20 21:35 test1

                         ↑

                    이것이 바로 유져!

                                      ↑                         

                                이것은 그룹!

이 둘을 제외한 모든 아이디는 자동으로 아더가 됨.

 

다음과 같은 순서로 분석을 합니다.

 

-rwxrwxrwx    1 trainer9 trainer10        5 10월 20 21:35 test1

  ③  ⑤  ⑦          ②         ④                                   ①

 

 

① test1 라는 파일은...

 

② trainer9 라는 uid를 가진 사용자에게...

 

③ 읽기(r),쓰기(w),실행(x) 권한이 있고...

 

④ trainer10 이라는 gid를 가진 사용자에게도...

 

⑤ 읽기(r),쓰기(w),실행(x) 권한이 있고...

 

⑥ trainer9와 10을 제외한 모든 사람에게도...

 

⑦ 읽기(r),쓰기(w),실행(x) 권한이 있다.

 

즉, 이 test1라는 파일은 아이디를 가지고 있는 사람이라면 누구나

마음데로 변경할 수 있는 파일이라는 것을 알 수 있습니다.

 

실행권한을 알아본다!

윈도우나 도스에서는 어떤 파일이 데이터 파일이고 어느것이 실행파일인지 확장자를 보고 구별을 했다.

ex) 확장자가 exe, bat, com 인 파일이 바로 실행파일이다.

 

but! 리눅스에선 이 확장자만 보고 실행파일인지 아닌지를 알 수 없다. 예를 들어 linux.exe 라는 파일은 이름만 보고 실행이 되는지 알되는지 알수가 X

 

그럼 어떻게 아느냐! 정답은 바로 실행권한 'x'라는 문자가 있는지 없는지 보고 판단

 

'System > FTZ' 카테고리의 다른 글

FTZ. 1  (0) 2019.09.05
[해커스쿨]trainer10  (0) 2019.07.20
[해커스쿨]trainer8  (0) 2019.07.20
[해커스쿨]trainer6  (0) 2019.07.20
[해커스쿨]trainer5  (0) 2019.07.20