r_sr_xr_x 이런식으로 권한이 설정되어 있으면 set user id가 걸려 있는 것입니다.
ser user id란 set user id가 설정된 파일을 실행하면 그 사용자 권한으로만 그 파일이
실행되는 겁니다.

간단히 예를 들어 보겠습니다.
비밀 번호를 변경하기 위한 passwd 명령을 들수가 있습니다.

passwd의 실행 권한은 아래에 보시는 것처럼 set user id가 설정 되어있습니다.
[root@op bin]# ls -al passwd
-r-s--x--x 1 root root 15368 5월 29 2002 passwd
이 명령은 새로운 패스워드를 입력 받아서 /etc/shadow 파일에 비밀 번호를 암화시켜서 넣는데요.

shadow 파일의 권한은 아래와 같습니다.
[root@op bin]# ls -al /etc/shadow
-r-------- 1 root root 1697 10월 16 23:58 /etc/shadow
루트만 강제로 쓰기가 가능할뿐 다른 이들은 쓸수도 볼수도 없읍니다.

그렇지만 일반계정으로 접속된 유저들은 자신의 로그인 비밀번호를 바꿀수가 있습니다.
그렇게 할 수 있는 이유가 바로 set user id때문입니다.
passwd 파일의 소유자가 root 이므로 이 파일을 실행 동안에는 root권한을 가지는거죠
(이동안에 uid는 원래 자신의 id가 나오고 euid(effective user id)는 root가 됩니다.)
set group id도 이와 마찬가지입니다.

참고로 set user id가 걸려 있는 파일을 실행시켜서 root권한을 가지는 해킹기법도 있으니
쓸데없는 파일에 set user id가 걸려 있는지 확인해 볼 필요가 있습니다.
find명령어로 set uid가 걸려 있는 파일을 찾을 수 있습니다.

[root@op log]# find / -perm -4000
2005/07/05 14:04 2005/07/05 14:04

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다