루트와 현재 사용자 모두로 스크립트를 실행하려면 어떻게 해야 합니까? [복사]

루트와 현재 사용자 모두로 스크립트를 실행하려면 어떻게 해야 합니까? [복사]

sudo특정 작업을 수행하기 위해 권한이 필요하지만 현재 사용자로서 특정 구성을 변경해야 하는 쉘 스크립트를 작성하고 싶습니다 . 사용자 개입이 필요하지 않도록 스크립트를 최대한 자동화하고 싶습니다.

내가 겪고 있는 문제는 전체 스크립트를 실행하면 sudo현재 사용자에 대한 구성을 변경할 수 없다는 것입니다. 하지만 루트 권한이 필요한 특정 명령만 추가하면 스크립트가 길어지고 시간이 초과되므로 sudo비밀번호를 계속 입력해야 합니다 .sudo

sudo현재 사용자에서 스크립트를 실행하지만 필요한 경우 권한을 유지하는 방법이 있습니까 ?

답변1

기본적으로 두 가지 방법이 있습니다.

  • 다른 프로그램/스크립트에 대한 루트 액세스가 필요한 하위 작업을 분리하고 해당 부분을 루트로 실행합니다(setuid 루트 바이너리 또는 를 통해 sudo).

  • 전체 프로그램을 루트로 실행하고 다음과 같이 일반 사용자로 실행해야 하는 부분을 실행합니다.su - user

관련 정보