Solaris - setuid, setgid, sticky bit

OS/Solaris 2016. 4. 29. 06:30

<setuid>

setuid 권한을 가진 file을 일반 사용자가 실행하게 되면 그 순간 잠시 root권한을 빌려오는 것이다. 프로그램 실행 시 process가 가지는 권한은 program을 실행한 사용자의 권한이 아닌 program 소유주의 권한을 가지는 것을 setuid이다.

 

권한이 없는 파일을 실행하거나 열었을때 나타나는 에러이다.



 

다음과 같이 setuid를 설정해준 후에 실행해보자.



파일에 setuid권한이 있으나 실행 권한이 없을 경우는 소문자 s가 아니라 대문자 S이다.

 

잘 나오고 있다.



 

<setgid>

process가 명령어를 실행한 소유자가 속한 기본 그룹의 권한을 가지지 않고 명령어의 그룹 소유주 권한을 가지게 된다. 이것은 setuid개념이 그룹으로 된 것이기 때문에 개념자체는 똑같아서 설명을 안하겠다.

 

<sticky bit>

공용 디렉토리를 사용할 때 sticky bit를 설정하여 사용한다. sticky bit가 설정되어 있는 directory 안의 내용은 해당 file의 소유주나 root만이 변경이 가능하여 공용 디렉토리라도 권한에 제약을 두어 다른 사용자들의 파일을 보호하기 위한 목적으로 만든것이다.

window에서 공유폴더를 생각하면된다. 공유폴더 안에 있는 파일들의 변경을 제한을 두기 위해 사용하는 것이다.

 

setuid동작 권한 과정



posted by 경원구