一般ユーザーがスーパーユーザーコマンドを実行できるようにする方法(/usr/sbin)

一般ユーザーがスーパーユーザーコマンドを実行できるようにする方法(/usr/sbin)

alsactl monitorDebian 9を実行しながら、通常のユーザーがポーリングに依存せずに現在のボリュームを表示するステータスバーを再描画するトリガーとしてこれを実行できることを願っています。つまり、alsactl継続するにはスーパーユーザー権限が必要です。/usr/sbin/一般ユーザーにこのコマンドを使用させる最善の方法は何ですか?

定義する最高:間の良い妥協シンプルそして限定的な。つまり、Debian に含まれているツールやリポジトリにあるツールを使用してシステムを大幅に変更する必要がないということは、ユーザーの追加権限ができるだけ制限されるため、利点があります。

ノート:この質問を検索するのは非常に難しいです。しかし、以前にも非常によく似た質問が提起されたことはほぼ確実です。適切なコピーをお知らせいただければ、お気軽に削除させていただきます。

答え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権限を必要とするコマンドではないようです。

関連情報