thread안에서 setreuid를 호출했을 때..

psjcap의 이미지

프로그램 실행 도중 thread를 띄워서 특정 유닉스 명령을 수행하는 프로그램을 작성하였습니다..
근데... 이 명령어가 root권한이 필요해서..
setreuid를 호출합니다..

근데 중간에 메인 thread에서도 setreuid를 호출하는 경우가 있습니다..
root로..

이게 문제가 않 될라나요..??
유효아이디가 쓰레드 별로 다른건지..
아뉨 프로세스 단위로 다른건지..

무지 헛갈리네요..ㅠㅠ

아참 그리고 os는 solaris 8입니다..

xjiwoox의 이미지

퍼미션은 실행되고 있는 프로세스에게 부여됩니다.
프로세스 안에 스레드들은 프로세스가 exec()될 때 부여받은 유효권한을
가지게 됩니다.
그리고 setreuid() 등의 함수를 사용하여 uid를 다시 설정하면 같은 프로세스
내의 모든 스레드에게 영향을 미칩니다.(말이 좀 이상한데요.. 결과적으로
같은 프로세스 내의 스레드들이 서로 다른 권한을 갖지는 않는다는 말입니다.)

s(˘∼˘*)z,·´″"`°³о$ √(´∀`√)... (˘ヘ˘ㆀ)a