일반 사용자가 슈퍼유저 명령을 실행하도록 허용하는 방법(/usr/sbin에서)

일반 사용자가 슈퍼유저 명령을 실행하도록 허용하는 방법(/usr/sbin에서)

alsactl monitor데비안 9를 실행하면서 일반 사용자가 폴링에 의존하지 않고도 현재 볼륨을 표시하는 상태 표시줄을 다시 그리는 트리거로 이것을 실행할 수 있기를 바랍니다 . 그러나 즉, alsactl계속 유지하려면 슈퍼유저 권한이 필요합니다. /usr/sbin/일반 사용자가 이 명령을 사용하도록 하는 가장 좋은 방법은 무엇입니까?

정의하다최고: 사이의 좋은 타협단순한그리고제한적인. 즉, 데비안에 포함된 도구나 리포지토리에 있는 도구를 사용하고 시스템을 크게 변경할 필요가 없다는 것은 사용자의 추가 권한이 최대한 제한되기 때문에 이점이 있습니다.

노트: 이 질문을 검색하기가 매우 어렵습니다. 그러나 이전에도 매우 유사한 질문이 제기된 것이 거의 확실합니다. 적절한 사본을 알려주시면 기꺼이 삭제해 드리겠습니다.

답변1

/usr/sbin절대 경로를 사용하여 명령을 실행할 수 있어야 합니다 .

/usr/sbin/alsactl

수퍼유저가 아닌 디렉토리에 /usr/sbin없기 때문에 "alsactl: 명령을 찾을 수 없습니다"라는 메시지가 표시됩니다 .PATH

답변2

/etc/sudoers 파일에서 sudoers 규칙을 사용할 수 있습니다.

joe ALL=(ALL) NOPASSWD: /full/path/to/command args 

귀하의 경우 다음과 같은 줄을 추가하십시오.

user ALL=(ALL) NOPASSWD: /usr/bin/alsactl monitor

너무 많은 권한을 부여하지 않도록 주의하세요...하지만 alsactl이 sudo 권한이 필요한 명령은 아닌 것 같습니다.

관련 정보