우리 서버 중 하나에는 관찰 사용자가 실행하는 자동 스크립트가 있습니다. 로그 파일을 업데이트하려면 기본 사용자가 실행하는 다른 스크립트에 지시해야 합니다.
이에 대한 코드는 다음과 같습니다.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 *