su 또는 sudo를 사용하지 않고 루트 권한으로 프로그램을 실행하는 방법

su 또는 sudo를 사용하지 않고 루트 권한으로 프로그램을 실행하는 방법

bash실행해야 하는 스크립트 가 있습니다.루트 권한이지만 일반 사용자가 호출해야 합니다.

어려운 부분은 스크립트가 비밀번호를 요구해서는 안 된다는 것인데, 저는 비밀번호를 사용하고 싶지 않습니다.Sudoers문서. 나는 사용을 피하고 싶다스도또는.

가능합니까?

답변1

bash 스크립트가 아니라 일반 애플리케이션인 경우 루트에 소유권을 부여하고 애플리케이션에 setuid 비트를 설정할 수 있습니다. 그런 다음 실행 시 애플리케이션이 실행되는 유효 사용자는 루트입니다. 그러나 보안상의 이유로 많은 시스템에서는 쉘 스크립트 실행이 금지되어 있습니다.이 문제Unix.stackexchange.com에서는 이 문제를 극복하는 방법을 다루고 있습니다.

답변2

sudo를 사용하세요. 에 전화하고 싶지 않다면 sudo /path/to/myscript한 줄짜리 래퍼를 작성하세요 exec sudo /path/to/myscript "$@". 바라보다쉘 스크립트에 setuid 설정 허용, 특별한sudo 사용에 대한 Maciej Piechotka의 답변그리고setuid 프로그램에 대한 보다 일반적인 토론.

관련 정보