이건 시간에는 리눅스의 권한에 대해서 알아본다!
이 권한에 관한 개념은 해킹에 있어서 가장 핵심적인 부분이다고 한다.
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 |