이럴 때 권한이 어떻게 되나요..??

psjcap의 이미지

root로 setuid가 설정된 프로그램이 있는데요..
그 프로그램에서 fork를 하고.. fork한 자식 프로세스에서..
system 함수로 shell script를 호출합니다..

root가 아닌 다른 계정으로 이 프로그램을 실행시킬 때..
여기서 호출되는 shell script는 무슨 권한으로 동작하나요..?

gizrak의 이미지

fork()를 프로그램으로 구현해서 사용할 때 자식 함수를 만들어 주는 것에는 추가 옵션을 줄 수 있습니다.

그러니까 그것이 꼭 setuid랑은 관계가 있지는 않죠.

보통 해킹의 경우 setuid가 걸린 프로그램을 이용해서 권한을 획득한다고는 하지만 그 프로그램의 소스까지 수정할 수는 없죠.

더구나 프로그램을 작성한 사람이 프로그램 내에서 setuid가 걸린 자식 프로세스를 생성하도록 해놓았을리도 만무하죠.

그리 현실적이지는 않는 내용입니다.

void main(void)
{
char *brain;
brain = malloc(sizeof(stress));

free(brain);
}
뭐든지 답은 간단한데서 시작한다.