특수 접근 권한
- 접근 권한은 원래 4자리
- 생략된 맨 앞자리는 특수 접근 권한 의미
- 맨 앞자리 숫자가 0이면 일반적인 접근 권한이지만 이 숫자가 1, 2, 4이면 특수 접근 권한이 설정
- SetUID : 맨 앞자리가 4
- SetGID : 맨 앞자리가 2
- 스티키 비트(sticky bit) : 맨 앞자리가 1
SetUID : 해당 프로그램을 실행하는 사용자가 프로그램을 실행하는 동안 임시로 파일의 소유자의 권한으로 프로그램을 수행
SetGID : 해당 프로그램을 실행하는 사용자가 프로그램을 실행하는 동안 임시로 파일의 소속 그룹의 권한으로 프로그램을 수행
777 -> rwx/rwx/rwx
-> setuid : rws/rwx/rwx (소유자쪽에 s라 표시)
-> setgid : rwx/rws/rwx (그룹쪽에 s라 표시)
특수 접근 권한 왜 필요해?
root 계정이 아니라 / 다른 계정일 경우 rwx/- /- 는 실행할 수 없다.
하지만 Setuid rws/-/- 인 경우 임시로 실행가능
설정하는 방법
<기호방식> (심볼릭방식)
setuid : chmod u+s 파일이름
setgid : chmod g+s 파일이름
<숫자모드> (8진수방식)
setuid : chmod 4755 파일이름
setgid : chmod 2755 파일이름
setuid/setgid는 보안에 취약하다 파일관리가 필요하다 / 메인관리자가 아닌 일반
sticky bit(파일에 설정 못함, 디렉토리에만 설정가능) : 해당 특수 권한이 설정된 디렉토리 내에 생성된 파일들은 소유자와 root외 다른 사용자는 삭제하지 못한다.
디렉토리에 쓰기 권한이 있는 경우 디렉토리에서 파일을 만들고 삭제하고 수정할 수 있다.
: 게시판이라 생각하면 쉬움 / A가 쓴글을 B가 못지움
setuid 파일 찾기 : find / -perm -4000
setgid 파일 찾기 : find / -perm -2000
sticky bit 파일 찾기 : find / -perm -1000
setuid and setguid 파일 찾기 : find / \( -perm -4000 -o -perm -2000 \) -ls
'P-Language > [Linux]' 카테고리의 다른 글
[Linux] 리눅스 시스템의 부팅 (0) | 2022.12.01 |
---|---|
[Linux] 프로세스의 개념 (0) | 2022.12.01 |