루트가 아닌 사용자 계정을 사용하여 모든 것에 대한 sudo 액세스를 요구하지 않고 특정 스크립트만 루트로 실행하도록 허용하려면 어떻게 해야 합니까?

루트가 아닌 사용자 계정을 사용하여 모든 것에 대한 sudo 액세스를 요구하지 않고 특정 스크립트만 루트로 실행하도록 허용하려면 어떻게 해야 합니까?

웹 개발자가 가끔씩 실행해야 하는 특정 파일 권한을 재설정하는 명령이 포함된 bash 파일이 있습니다. 이러한 명령은 루트 보안 컨텍스트에서 실행되어야 합니다. 개발자가 파일을 실행하고 루트로 실행할 수 있도록 허용하고 싶습니다. 그러나 개발자에게 전체 서버에 대한 sudo 액세스 권한을 부여하는 것이 아니라 이 bash 파일을 실행하는 루트 컨텍스트에만 권한을 부여하고 싶습니다. Redhat에서 이 기능을 구성하는 가장 좋은 방법은 무엇입니까?

답변1

그러나 개발자에게 전체 서버에 대한 sudo 액세스 권한을 부여하는 것이 아니라 이 bash 파일을 실행하는 루트 컨텍스트에만 권한을 부여하고 싶습니다.

사용자가 단일 bash 스크립트를 실행할 수 있도록 sudo를 설정할 수 있는데 왜 전체 서버에 대한 액세스 권한을 부여합니까?

cat /etc/sudoers.d/script4username
username  ALL=(ALL)  NOPASSWD: /path/to/script

답변2

sudo이것이 당신이 원하는 일에 적합한 도구라는 것이 밝혀졌습니다 .

sudo세분화된 액세스 제어를 설정할 수 있습니다 . 둘 다WHO그리고무엇. 읽다 man sudoers. 또한 사용자에게 스크립트 또는 포함된 디렉터리에 대한 쓰기 권한이 있는지 확인하십시오.

참고: visudosudoers 파일을 편집하는 데 사용됩니다. 오류를 확인하며 오류로 인해 계정이 잠길 수 있습니다. 또한 만일을 대비해 루트 터미널을 실행 상태로 두십시오.

관련 정보