私はwiresharkをroot以外のユーザー、la here として実行するように設定しています:
Sudo apt-get install wireshark
Sudo dpkg-reconfigure wireshark-common
Sudo usermod -a -G wireshark $USER
(restart)
これはすべて素晴らしいです。しかし、wiresharkユーザーとしてwiresharkを起動しようとすると、次を使用します:
Sudo -s -u $USER wireshark
次のエラーが表示されます。
no protocol specified
gtk-warning ** cannot open display
「プロトコルが指定されていない」部分は非常に単純です。そして、gtk-warningのディスプレイを開くことができないのは、これと正確に関連しているようです issue 。
「これを機能させるには、次の2つの方法があります。許可するか、rootに取得させます。(greg)は 'xhost local:root'で許可できます。または、ファイルにアクセスできるのでrootが取得できます: 'export AUTHORITY =/home/greg/.Xauthority '。」
これは私には意味がありません。他のユーザーがプログラムを開くことができない場合、他のユーザーにアクセスを許可することのポイントは何でしたか?この分離はセキュリティ上の理由で行われるため、上記の変更は以前のコメントを元に戻しません
「これはXサーバーへのアクセス制御と関係があります。画面上でウィンドウを開くだけの人はいません。あなた自身のアカウント(greg)でXサーバーを起動した場合、他のユーザー(rootなど) )にアクセスできません。」
TLDR;ルートと他のユーザーアカウントを分離するために、この標準的なプラクティスとこれを行う方法はありますか?私には「ハック」のようです。
$USER
はシェル変数として見るためにここにあります。上記の3番目のコマンドは、ユーザーをwireshark group
に追加し、Sudo adduser <yourUser> wireshark
に置き換える必要があります。
これで、wiresharkを呼び出すことができるはずです自分として(もうSudoは不要です)。
これは、私がWiresharkをインストールして動作させ、非rootユーザーとして実行する方法です。
Wiresharkをインストールします。
Sudo apt-get update
Sudo add-apt-repository ppa:dreibh/ppa
Sudo apt-get update
Sudo apt-get install wireshark
非rootユーザーとして実行できるようにします。
Sudo dpkg-reconfigure wireshark-common
Sudo adduser <yourUser> wireshark
Sudo chmod +x /usr/bin/dumpcap
Wiresharkをインストールする
Wireshark開発者チームが提供するPPAは主に2つあります。1.安定リリース2.夜間リリース( Wireshark開発者の公式安定版/夜間PPA へのリンク)
Wireshark Developers安定版リリースの使用(Ubuntu Bionicまで)
Sudo add-apt-repository ppa:wireshark-dev/stable -y
Sudo apt update
Sudo apt install wireshark
Sudo dpkg-reconfigure wireshark-common
Sudo adduser $USER wireshark
Sudo chmod +x /usr/bin/dumpcap
Wireshark Developers Nightlyリリースの使用(ubuntu xenialまでサポート)
Sudo add-apt-repository ppa:wireshark-dev/nightly
Sudo apt update
Sudo apt install wireshark
Sudo dpkg-reconfigure wireshark-common
Sudo adduser $USER wireshark
Sudo chmod +x /usr/bin/dumpcap
現在のユーザーをログアウトして再ログインすることを忘れないでください(ユーザーグループを追加)