일반적으로 읽기 전용 디스크에 쓸 수 있도록 다시 마운트해야 하는 setuid 프로그램이 있습니다. 즉, 프로그램이 명령을 실행하려고 합니다.
mount -o remount,rw /
그러나 mount
명령 자체는 루트에 의해 실행되는지 확인하는 setuid입니다.진짜사용자 ID이므로 setuid 프로그램에서 실행하면 "루트만 재설치 옵션을 사용할 수 있습니다" 또는 이와 유사한 오류가 발생하여 실패합니다.
setuid 프로그램이 commnd를 실행할 방법이 정말 없나요 mount
?
답변1
질문을 게시하자마자 답변을 찾았습니다. 간단한 통화
setuid(geteuid())
직전 exec()
에 /bin/mount
이루어졌습니다 .