setuid 프로그램에서 mount(1)을 실행할 수 없습니까?

setuid 프로그램에서 mount(1)을 실행할 수 없습니까?

일반적으로 읽기 전용 디스크에 쓸 수 있도록 다시 마운트해야 하는 setuid 프로그램이 있습니다. 즉, 프로그램이 명령을 실행하려고 합니다.

mount -o remount,rw /

그러나 mount명령 자체는 루트에 의해 실행되는지 확인하는 setuid입니다.진짜사용자 ID이므로 setuid 프로그램에서 실행하면 "루트만 재설치 옵션을 사용할 수 있습니다" 또는 이와 유사한 오류가 발생하여 실패합니다.

setuid 프로그램이 commnd를 실행할 방법이 정말 없나요 mount?

답변1

질문을 게시하자마자 답변을 찾았습니다. 간단한 통화

setuid(geteuid())

직전 exec()/bin/mount이루어졌습니다 .

관련 정보