ワイヤレスインターフェイスの1つをスキャンする必要があるアプリケーションを作成しています。過去に私のプログラムが実行され、sudo
コードで使用されていました。
iwlist wlanX scan
しかし、今はroot権限なしでプログラムを実行することを許可したいと思います。私がこの仕事をする能力を変えれば、/sbin/iwlist
比較的安全でしょうかcap_net_admin+eip
?Iwlist
詳細な無線情報を表示するためにのみ使用されるため、このコマンドへのより広いアクセス権を持つことはそれほど危険ではありません。
ベストアンサー1
sudo
グループメンバーがパスワードなしでコマンドを実行できるように構成できます。ファイルvisudo
編集の場合sudoers
:
# visudo
次のような内容を追加します。
%mygroup ALL = (root) NOPASSWD: iwlist wlanX scan
ファイルの下部に追加します(ここでmygroup
グループ名の前にはパーセント記号が付いています)。
%mygroup
に変更して、単一のユーザーがこのプログラムを実行できるようにすることもできます。myuser
ここで、myuser
ユーザー名は不足しているパーセント記号に注意してください。
%mygroup
またはに置き換えて、誰でもスキャンできるようにすることができますALL
。
使用するとすべてのコマンドがcapabilities
許可されますが、上記のように構成すると特定のオプションを持つ 1 つのコマンドのみに制限されます。これはより安全でなければなりません。cap_net_admin
iwlist
sudo
もう1つの(一般的な)理由は、構成がをsudo
使用するよりも移植性に優れているためですcapabilites
。ただし、Linuxのみを使用している場合は関係ありません。