기본 명령에 대한 권한을 허용하지 않고 사용자 정의 bash 명령에 대한 권한을 허용합니다.

기본 명령에 대한 권한을 허용하지 않고 사용자 정의 bash 명령에 대한 권한을 허용합니다.

우리 서버 중 하나에는 관찰 사용자가 실행하는 자동 스크립트가 있습니다. 로그 파일을 업데이트하려면 기본 사용자가 실행하는 다른 스크립트에 지시해야 합니다.

이에 대한 코드는 다음과 같습니다.sudo kill -UPDATE_LOG pid

분명히 관찰 사용자는 이 명령을 실행할 수 있는 권한이 있어야 합니다. 그러나 나는 명백한 이유로 프로세스를 종료하는 자동 스크립트 권한을 부여하고 싶지 않습니다.

나는 다음과 같은 것을하고 싶습니다alias update_log='kill -UPDATE_LOG; grant update_log on observing_user

답변1

아마도 사용 중

sudo pkill -UPDATE_LOG <process-name>

kill 대신에 귀하의 필요를 충족시키기에 충분히 제한적입니까?

이 문제를 해결하는 또 다른 방법은 이 작업을 수행하기 위해 사용자 정의 스크립트 또는 exec에 sudo와 함께 제공하려는 명령을 포함시키는 것입니다.

답변2

그렇군요, 키워드를 바꿔서 답을 찾았습니다.

또한보십시오: sudo 사용자가 특정 명령을 실행하지 못하도록 방지하는 방법은 무엇입니까?

1 단계:

sudo visudo

구문은 다음과 같습니다.

user host=command

이는 주어진 명령에 대한 sudo 액세스 권한을 부여합니다. 다음과 같은 그룹을 만들 수도 있습니다.

%group host=command

3개의 '열' 중 하나에서 ALL을 사용하여 이를 모든 호스트, 명령 또는 사용자에게 적용할 수 있습니다.

내 솔루션은

observing_user ALL=kill -USR1 *

관련 정보