6. Permissions
1) 파일의 리스트와 파일 속성
▣ 파일 유형 (3가지 종류)
☞ - : 일반 파일
☞ d : 디렉토리
☞ l : 링크
▣ 파일 허가권
- 총 9자리 (3자리씩 끊어 읽음)
☞ r : 읽기 권한(read) -> 4
☞ w : 쓰기 권한(write) -> 2
☞ x : 실행 권한(executable) -> 1
☞ - : 권한 없음 -> 0
ex) abc파일의 퍼미션은 644이다.
- touch 명령어로 만든 파일의 퍼미션은 일반적으로 644임.
▣ 파일 소유권(Ownership)
- 파일을 소유한 사용자와 그룹을 의미
- 파일 소유자 + 파일 소유 그룹
2) 권한 관련 명령어
▣ chmod (Change Mode)
- 파일 허가권 변경 명령어
- usage : chmod 허가권 파일명
ex) # chmod 777 yum.log
- 파일 허가권의 범위 : 000 ~ 777
▣ chown (Change the Owner of the file)
- 파일의 소유권을 바꾸는 명령어 (소유권 : 소유자 + 소유그룹)
- usage : chown 소유자.소유그룹 파일명 (반드시 소유자가 소유그룹에 속해야 하는 것은 아님)
ex) # chown fedora.fedora yum.log
- 소유자만 변경시 : chown 소유자 파일명
- 소유그룹만 변경시 : chown .소유그룹 파일명
[궁금증]
Q1) 소유권을 바꾼 다음 해당 계정을 삭제해버리면...?
A1) hello 계정에 해당 했던 uid와 gid만 적혀 있는 것을 확인 할 수 있음.
Q2) 그렇다면 다시 hello 계정을 만들어 버리면..?
A2) 다시 hello 계정으로 적힌 것을 확인 할 수 있음...
Q3) Q1 직후에 hello가 아닌 다른 이름의 계정이 생성된다면..?
A3) ??? uid와 gid가 501에 해당하는 tempuser가 abc 파일의 새로운 소유권자가 되어버렸다.... 나름의 버그가 아닌가 싶다..
▣ setuid
- uid에 해당하는 사용자의 권한(소유권)을 잠시 빌려옴
- S 또는 s로 표현되고 8진수 모드로 4000
- 파일 실행시 파일 소유자 권한으로 실행
- usage : chmod 4777 파일명
☞ 소유자의 실행권한이 없으면 대문자 S : 실행불가능
☞ 소유자의 실행권한이 있으면 소문자 s : 실행가능
-> 소문자 s를 보는 순간 해킹의 가능성이 있겠구나를 생각하자.
[실습]
1. backdoor.c 파일을 작성
☞ system 함수를 통해 새로운 쉘을 열어줌.
2. c파일을 컴파일 해줌.
usage : gcc -o 실행파일이름 소스코드파일명
3. 만들어진 파일의 권한을 4777로 변경
4. 일반 계정으로 가서 실행
usage : ./backdoor
☞ 실행만 시켰을 뿐인데 tempuser 계정에서 root로 바뀐 것을 확인 할 수있다.
☞ 이 쉘을 직접 종료시킬 때까지 root 사용자로 유지가 됨.
※ backdoor : 재방문시 손쉽게 재침입하기 위해서.. 1개가 아닌 몇천개의 수많은 백도어를 생성해 놓음.
[Tip]
- ls -al 의 단축키 : ll
i2sec 대구지점 23기 수료생.
'해킹&보안 > Linux' 카테고리의 다른 글
[D+10] Link (0) | 2017.02.20 |
---|---|
[D+9] Process Management (0) | 2017.02.17 |
[D+7] 유저 관리 (0) | 2017.02.15 |
[D+7] 리눅스 커맨드 (3) (0) | 2017.02.15 |
[D+6] 리눅스 커맨드 (2) (0) | 2017.02.14 |