[Linux] 파일 및 디렉토리 속성정보(MetaData) 분석 | 권한 변경(chmod, chown, umask) | MAC time
1. 파일 및 디렉토리 속성정보(MetaData) 분석
- ls -l 명령어를 사용하면 파일 및 디렉토리의 속성정보 확인이 가능합니다
<원본>
<분석>
- : 파일 [-], 디렉토리 [d], Symbolic link [l]
rw- : user(owner)권한, r 읽기 4, w 쓰기 2, x 실행 1
r-- : group 권한, r 읽기 4, w 쓰기 2, x 실행 1
r-- : 기타사용자(other), r 읽기 4, w 쓰기 2, x 실행 1
1 : link 갯수
root : 소유주(owner)
root : 그룹(group)
2 : 용량(size)
2월 17 09:49 : 파일이나 디렉토리가 마지막으로 수정된 시간
a.txt : 파일이나 디렉토리의 이름
** 모든 파일은 x 실행 권한이 있어야 접근 가능, rw가 있더라도 x가 없다면 접근 불가능
2. 권한변경 및 Test
[chmod] : 권한 변경 명령어
- 사용자 지정 옵션
- ugoa : u user, g group, o other, a all
- + : 권한 추가
- - : 권한 제거
- rwx : r 읽기, w 쓰기, x 실행
- -R : 하위 디렉토리에도 속성 전파, 단 명령어 이후 새로 생성하는 파일에는 적용 X
<옵션 사용해서 명령어 써보기>
- 현재 a.txt 파일은 user의 권한이 읽기(r)와 쓰기(w)가 있습니다.
- u 옵션을 사용하여 user을 지정하고, +x 옵션을 사용하여 실행권한(x)을 부여합니다
- user에 실행권한(x)이 추가된 a.txt 확인이 가능합니다
- user, group, other 는 명령어를 같이 사용해 한꺼번에 권한을 줄 수도 있습니다
- - 옵션을 사용해 권한을 제거도 해봅니다
- -R 옵션을 사용하여 하위 디렉토리에도 속성을 전파해봅니다
- -R 옵션을 사용한 이후에 생성한 파일에는 적용되지 않습니다
- 8진수 법
- r : 4, w : 2, x : 1
- u : 4 + 2 + 1
- g : 4 + 2 + 1
- o : 4 + 2 + 1
- 777 : 전체권한, 첫번째 숫자 user, 두번째 숫자 group, 세번째 숫자 other 권한
[umask ]
- 파일 및 디렉토리 생성 시 모든 권한을 부여하면 보안상 문제가 발생함으로 최소 권한 법칙에 근거하여
파일 및 디렉토리의 최대 권한에서 umask 만큼을 빼서 파일 및 디렉토리 생성
- 디렉토리의 최대 권한은 777, 파일의 최대 권한은 666
- 디렉토리의 경우 해당 디렉토리에 접근하기 위해서는 반드시 x 권한이 있어야 함
- 파일의 경우 sh 명령어도 강제실행이 가능함으로 또한 rw 권한만으로 충분하기에 666
- umask의 네자리 수에서 맨 앞자리를 뺀 숫자로 봄 (umask 0044 -> 044)
[chown] : 소유권 변경
- chown 사용자ip.그룹.id 파일명
- chown 사용자id 파일명
- chown .그룹id 파일명
- -R : 하위 디렉토리 속성 전파, 단 명령어 이후 새로 생성하는 파일에는 적용 X
[특수 권한]
- setuid 4000 x-s(실행권한이 있으면 소문자s) x-S(실행권한이 없으면 대문자S)
-> 해당 권한이 설정된 파일이 실행되는 동안에는 소유주의 권한으로 실행된다
-> # chmod 4755 a.txt 실행권한O
-> # chmod 4655 a.txt 실행권한X
ex) /etc/passwd 에서 비밀번호를 입력할 때 일반사용자는 해당권한이 없지만 setuid가 걸려있으면
비밀번호를 바꾸는 명령어를 입력했을 때만은 일반사용자가 소유주의 권한을 얻는다
- setgid 2000 x-s x-S
-> 해당 권한이 설정된 파일이 실행되는 동안에는 그룹의 권한으로 실행된다
-> # chmod 6775 a.txt 실행권한O
-> # chmod 6765 a.txt 실행권한X
- stickybit 1000 x-t x-T
-> 해당 권한이 설정된 디렉토리에서는 파일이나 디렉토리를 생성한 사용자만 삭제 가능
단, 최고 관리자인 root는 영향을 받지 않는다.
-> # mkdir 2 stickybit는 디렉토리에 권한 부여
-> # chmod 7777 2 실행권한O
-> # chmod 7776 2 실행권한X
3. MAC time
- m : modify
- a : access
- c : change
- 침해사고 분석 시 파일 및 디렉토리의 접근시간(A), 권한변경(C), 내용수정(M)
시간 정보는 분석에 필수적인 정보. 따라서 MAC Time 공격자의 시간대별 활동 정리에 필수
- 시간 정보 확인