root権限なしでiwlistをスキャンする

root権限なしでiwlistをスキャンする

ワイヤレスインターフェイスの1つをスキャンする必要があるアプリケーションを作成しています。過去に私のプログラムが実行され、sudoコードで使用されていました。

iwlist wlanX scan

しかし、今はroot権限なしでプログラムを実行することを許可したいと思います。私がこの仕事をする能力を変えれば、/sbin/iwlist比較的安全でしょうかcap_net_admin+eipIwlist詳細な無線情報を表示するためにのみ使用されるため、このコマンドへのより広いアクセス権を持つことはそれほど危険ではありません。

ベストアンサー1

sudoグループメンバーがパスワードなしでコマンドを実行できるように構成できます。ファイルvisudo編集の場合sudoers

# visudo

次のような内容を追加します。

%mygroup ALL = (root) NOPASSWD: iwlist wlanX scan

ファイルの下部に追加します(ここでmygroupグループ名の前にはパーセント記号が付いています)。

%mygroupに変更して、単一のユーザーがこのプログラムを実行できるようにすることもできます。myuserここで、myuserユーザー名は不足しているパーセント記号に注意してください。

%mygroupまたはに置き換えて、誰でもスキャンできるようにすることができますALL

使用するとすべてのコマンドがcapabilities許可されますが、上記のように構成すると特定のオプションを持つ 1 つのコマンドのみに制限されます。これはより安全でなければなりません。cap_net_adminiwlistsudo

もう1つの(一般的な)理由は、構成がをsudo使用するよりも移植性に優れているためですcapabilites。ただし、Linuxのみを使用している場合は関係ありません。

おすすめ記事