real-user-id / effective-user-id 이용한 프로그램시.
소스분석중 이해가 잘 안되는 부분이 있어서요.
다음과 같은 실행 파일이 존재합니다.
-rwxr-xr-x Daemon* user1 user
-rwxr-xr-x exam* user1 user
-rwsr-xr-x xguip* root system
(1) user1계정으로 login후 xguip를 실행시킵니다.
이시점에서 xguip process의 권한이
< real-user-id = user1, effective-user-id = root>가 되는것까지는
이해가 됩니다.
(2) xguip내부에서 setreuid(0, getuid()) 작업을 수행합니다.
<질문1> 이 시점에서의 xguip process의 권한은
< real-user-id = root, effective-user-id = user1 >인가요
< real-user-id = root, effective-user-id = root> 가 된다는건가요?
(3) xguip내부에서 system(Daemon exam) 작업을 수행합니다.
<질문2>이시점에서의 Daemon process의 권한은
< real-user-id = root, effective-user-id = root>가 되는게 맞나요?
(4) Daemon의 main()내부에서 setreuid(geteuid(), geteuid()) 작업
수행합니다.
<질문3>이시점에서의 Daemon process의
<real 및 effective-user-id> 는 ?
(5) Daemon의 main()내부에서 system(exam) 작업을 수행합니다.
<질문4>이시점에서의 exam process의
<real 및 effective-user-id> 는 ?
(6) exam의 main()내부에서 setreuid(geteuid(), geteuid()) 작업 수행.
<질문5>이시점에서의 exam process의
<real 및 effective-user-id> 는 ?
너무 내용이 많아졌군요...
아무튼 초보라서 많이 부족합니다.
도움 부탁 드립니다.
댓글 달기