LINUX

Linux/특수 권한(2) (sticky bit/SetUID/SetGID)

25G 2021. 11. 3. 12:17

특수 권한 

 

ex)

 

r   w  s  r  w  x  r  w  x    ==Set UID : 권한 시작 값이 4000번대로 시작한다./owner에 s가 있다면 x가 같이 있다고 생각하면된다. 위 권한 값은 4777

 

r   w  x  r  w  s  r  w  x    ==SetGID : 권한 시작 값이 2000번대로 시작한다. /group에 s가 있다면 x가 같이 있다고 생각하면 된다.

위 권한 값은 2777

r   w  x  r  w  x  r  w  t    == sticky bit : 권한 시작 값이 1000번대로 시작한다./other에 t가 있다면 x가 같이 있다고 생각하면 된다. 위 권한 값은 1777

 

 

sticky bit = 게시판 성격의 특수권한/ 디렉터리 허가권

 

 

게시판의 성격을 닮았다는 말은 내가 게시판에 글을 올렸을 때 내가 쓴 글을 지울 수 있는 사람은 관리자와 소유자 자신밖에 없다는 뜻이다.

other자리에 t 가 있다면 자료를 삭제할 수 있는 사용자는 관리자와 해당 자료를 가지고 있는 소유자 밖에 없다. 남의 자료를 함부로 삭제할 수 없다.

주로 공용 디렉터리 허가권으로 주로 사용한다.

 

 

SetUID/SetGID = owner나 group계정이 아닌 로그인한 사용자와 관계없이 프로그램 실행시 해당 프로그램의 소유자 &소유 그룹의 권한으로 프로그램이 실행되는 특별한 권한

ex) /usr/bin/passwd파일이 rws-r-x-r-x(4755)라는 허가권을 가지고 있다고 한다면

해당 파일의 소유자도 아닌 일반 사용자도 비밀번호를 수정할 수 있게 되는 것이다

이 기능을 사용하는 이유는 내가 어떤 기능을 빌려줄 때 필요하기 때문이다. 아무에게나 관리자 아이디를 줄 수 없다.