Setuid
Unix 액세스 권한 플래그 setuid 및 setgid ("set user ID"및 "set group ID"의 약자) 를 사용하면 사용자가 각각 실행 파일 소유자 또는 그룹의 파일 시스템 권한으로 실행 파일을 실행하고 디렉토리의 동작을 변경할 수 있습니다. 이들은 종종 컴퓨터 시스템의 사용자가 특정 작업을 수행하기 위해 일시적으로 상승 된 권한으로 프로그램을 실행할 수 있도록하는 데 사용됩니다.
SUID
절대표기값은 4000
이다 일반사용자가 소유자 권한으로 실행할수 있도록 하는 것 보안상 문제가 있기 때문에 조심해서 사용하여야 한다.
SGID
절대표기값은 2000
일반사용자가 소유그룹의 권한을 실행할수 있도록 하는 것 파일 적용이 되면 다른 그룹이 소유그룹의 권한으로 파일을 실행하는것과 같다.
Sticky bit
모든 사용자가 쓸 수 있는 디렉토리를 적용하여 디렉토리내에 있는 파일을 임의대로 삭제할수 없고, 오직 소유자에게만 삭제,변경 권한이 있다. 리눅스에서는 /tmp
디렉토리가 대표적 인 stick bit로 설정이 되어있다.
다음과 같이 명령을 치면,
다음과 같이 출력된다.
drwxrwxrwt
에서 마지막, t
에 주목하면 된다.
설정 방법
## suid를 적용한다는 뜻이다. (u -> user)
chmod u+s 파일이름
## suid를 적용해제 시키겠다는 뜻이다. (u -> user)
chmod u-s 파일이름
## sgid를 적용하겠다는 뜻이다. (g -> group)
chmod g+s 파일이름
## sgid를 적용해제 시키겠다는 뜻이다. (g -> group)
chmod g-s 파일이름
## stick bit를 적용시키겠다는 뜻이다. (o -> other)
chmod o+t 파일이름
## stick bit를 적용해제시키겠다는 뜻이다. (o -> other)
chmod o-t 파일이름
파일 찾기
각각 sgid, suid ,stickybit 가 적용된 파일을 찾기위해선 다음과 같이하면 된다.
See also
- Linux
- InformationSecurity:CheckList:Unix - Unix계열 시스템의 보안 항목 체크 리스트.