回答:
ファイルroot
を編集することにより、ユーザーが特定のツールを特権付きで実行することを許可でき/etc/sudoers
ます。たとえば、root以外の非sudoerユーザーにifconfig
コマンドの実行のみを許可できるため、表示などのroot特権のあるものにアクセスできません/etc/shadow
。
したがって、通常のユーザー(この例ではMYUSER)を作成します。それを追加しないでくださいroot
またはsudo
グループ。/etc/sudoers
などのお気に入りのエディタで編集しますvim
。次の行を下に追加します# User privilege specification
。
MYUSER ALL=(root) NOPASSWD :/sbin/ifconfig *
次に、MYUSERとしてログインifconfig
したsudo
ときにを使用してアクセスします。例えば:
sudo ifconfig eth0 down
交換してくださいifconfig
あなたのような好きなツールを使って、この答えではtcpdump
、tshark
など
参考はこちら。
useraddコマンドの代わりにusermodコマンドを使用して、ユーザーを「netdev」グループに追加してみてください。ユーザーは既存のユーザーでなければならないことに注意してください。私はこれをUbuntu 16.04 LTSで自分で行いましたが、うまくいきます:
sudo usermod -a -G netdev <user>
このコマンドの後で、次のようにしてユーザーが追加されたかどうかを確認します。
id <user>
追加されていない場合は、再起動/ログアウトして、上記のコマンド(id)をもう一度実行してください
警告:最初のコマンドで「-a」を省略しないでください。注意してください
SIOCSIFFLAGS: Operation not permitted
netdev
グループ化する必要はありません。エラーは、実行しifconfig eth0 up
ているときではなく実行しているときに発生しますusermod
netdev
グループに追加しましたが、エラーが表示されます。