xauth
GUIプログラムがSSHを介してすべてのユーザーとして実行できるように、ユーザー間のCookie転送を設定しようとしています。/etc/pam.d/su
合計に次の行を追加しました/etc/pam.d/sudo
。
session optional pam_xauth.so
しかし、GUIプログラムの実行は依然としてroot
失敗します。
pi@raspberrypi:~ $ echo $DISPLAY
localhost:10.0
pi@raspberrypi:~ $ xauth list
raspberrypi/unix:12 MIT-MAGIC-COOKIE-1 XXX
raspberrypi/unix:11 MIT-MAGIC-COOKIE-1 XXX
raspberrypi/unix:0 MIT-MAGIC-COOKIE-1 XXX
raspberrypi/unix:10 MIT-MAGIC-COOKIE-1 XXX
pi@raspberrypi:~ $ leafpad
# leafpad window opens
pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# echo $DISPLAY
localhost:10.0
root@raspberrypi:/home/pi# xauth list
xauth: file /root/.Xauthority does not exist
root@raspberrypi:/home/pi# leafpad
PuTTY X11 proxy: Unsupported authorisation protocol
leafpad: Cannot open display:
root@raspberrypi:/home/pi# touch /root/.Xauthority
root@raspberrypi:/home/pi# xauth add $(xauth -f ~pi/.Xauthority list | tail -1)
root@raspberrypi:/home/pi# leafpad
# leafpad window opens
どのユーザーにも~/.xauth/import
/filesはありません。~/.xauth/export
私はSSHクライアントでPuTTY + Xmingを実行しています(関係ありません)。私は私のためにpam_xauth
創造するのを楽しみにしていましたが、/root/.Xauthority
そのようなことは起こりませんでした。理由をご存知ですか?
答え1
2018年以降、状況が変わったかどうかはわかりませんが、2021年のDebian Bullseyeでは、質問に記載されている設定変更が正しく機能しています。pam_xauth
作る$XAUTHORITY
このファイルを指すようにクッキーが設定された一時ファイルです。
問題は以下に関連する可能性があります。このGitHubの問題通話情報setuid()
(ユーザーID設定)sudo
動作するバージョンは次のとおりです。1.9.4。