![루트와 현재 사용자 모두로 스크립트를 실행하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/135929/%EB%A3%A8%ED%8A%B8%EC%99%80%20%ED%98%84%EC%9E%AC%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EB%AA%A8%EB%91%90%EB%A1%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
sudo
특정 작업을 수행하기 위해 권한이 필요하지만 현재 사용자로서 특정 구성을 변경해야 하는 쉘 스크립트를 작성하고 싶습니다 . 사용자 개입이 필요하지 않도록 스크립트를 최대한 자동화하고 싶습니다.
내가 겪고 있는 문제는 전체 스크립트를 실행하면 sudo
현재 사용자에 대한 구성을 변경할 수 없다는 것입니다. 하지만 루트 권한이 필요한 특정 명령만 추가하면 스크립트가 길어지고 시간이 초과되므로 sudo
비밀번호를 계속 입력해야 합니다 .sudo
sudo
현재 사용자에서 스크립트를 실행하지만 필요한 경우 권한을 유지하는 방법이 있습니까 ?
답변1
기본적으로 두 가지 방법이 있습니다.
다른 프로그램/스크립트에 대한 루트 액세스가 필요한 하위 작업을 분리하고 해당 부분을 루트로 실행합니다(setuid 루트 바이너리 또는 를 통해
sudo
).전체 프로그램을 루트로 실행하고 다음과 같이 일반 사용자로 실행해야 하는 부분을 실행합니다.
su - user