리눅스프로그래밍

우분투 리눅스 - 특수 접근 권한

헬로월드! 2020. 5. 16. 15:19

특수 접근 권한 

접근 권한은 원래 4자리인데, 생략된 맨 앞자리는 특수 접근 권한을 의미한다. 맨 앞자리 숫자가 0이면 일반적인 접근 권한이지만 이 숫자가 1 , 2, 4 이면 특수 접근 권한이 설정된다.

 

  • SetUID : 맨 앞자리가 4
  • SetGID : 맨 앞자리가 2
  •  스티키 비트: 맨 앞자리가 1

chmod □755 test.txt

□에 들어갈 내용은 특수 접근 권한이다. 

 

SetUID : 해당 파일이 실행되는 동안에는 파일을 실행한 사용자의 권한이 아니라 파일의 소유자의 권한으로 실행

SetUID 가 설정되면 소유자의 실행 권한에 's' 가 표시된다. set.exe 를 실행하면 항상 user1의 권한을 가지고 실행된다는 의미이다.

/etc/shadow 파일 root 계정으로만 수정이 가능하다. passwd 명령은 SetUID가 설정되어 있기 때문에 소유자인 root 권한으로 실행되어 암호 변경이 가능하다. 

SetID를 이용한 해킹도 등장하여 보안에 신경써야한다!

 

SetGID: SetGID 가 설정된 파일을 실행하면 해당 파일이 실행되는 동안에는 파일 소유 그룹의 권한으로 실행한다, setGID 는 2755와 같이 접근 권한에서 맨 앞자리에 2를 써준다.

 

스티키 비트: 스티키 비트는 디렉터리에 설정, 디렉터리에 스티키 비트가 설정되어 있다면 ,이 디렉터리에는 누구나 파일을 생성할수 있다. 파일은 파일을 생성한 계정으로 소유자가 설정되며, 다른 사용자가 생성한 파일은 삭제가 불가능하다. /tmp 디렉터리가 대표적!