setuid 는 말그대로 그 uid 권한으로 완전히 변경됩니다.
예를 들어
root 권한으로 프로그램을 실행해서 setuid(506) 을 실행했다면(506 은 yundream
계정이라고 가정하겠습니다), 이후의 모든 작업은 yundream 계정으로 수행됩니다.
여기에서 다시 root 로 작업하고 싶어서 setuid(0) 을 해도 root 권한으로
복귀할수는 없습니다. 왜냐하면 말그대로 완전히 yundream 으로 권한이 바뀐거구 ..
root 권한을 획득할수는 없기 때문입니다.
반면 seteuid 는 권한이 완전히 대체되는게 아니고, 단지 그 권한의 효과만을
주게 됩니다. seteuid(506)으로 파일 작업을 하면 파일의 권한은 yundream 으로
됩니다. 그리고 권한이 yundream 로 바뀐게 아니기 때문에 언제든지 seteuid 를
통해서 root 작업을 수행할수 있습니다.
Re: real 과 effective의 차이?....
setuid 는 말그대로 그 uid 권한으로 완전히 변경됩니다.
예를 들어
root 권한으로 프로그램을 실행해서 setuid(506) 을 실행했다면(506 은 yundream
계정이라고 가정하겠습니다), 이후의 모든 작업은 yundream 계정으로 수행됩니다.
여기에서 다시 root 로 작업하고 싶어서 setuid(0) 을 해도 root 권한으로
복귀할수는 없습니다. 왜냐하면 말그대로 완전히 yundream 으로 권한이 바뀐거구 ..
root 권한을 획득할수는 없기 때문입니다.
반면 seteuid 는 권한이 완전히 대체되는게 아니고, 단지 그 권한의 효과만을
주게 됩니다. seteuid(506)으로 파일 작업을 하면 파일의 권한은 yundream 으로
됩니다. 그리고 권한이 yundream 로 바뀐게 아니기 때문에 언제든지 seteuid 를
통해서 root 작업을 수행할수 있습니다.
도움이 되었는지 모르겠군요.
그럼 좋은 하루 되세요..
댓글 달기