我试图在用户之间设置xauth
cookie转发,这样就可以通过SSH作为任何用户运行GUI程序。我在/etc/pam.d/su
和/etc/pam.d/sudo
中添加了以下一行:
session optional pam_xauth.so
但是,以root
的形式运行GUI程序仍然失败:
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
/~/.xauth/export
文件。我正在SSH客户端上运行PuTTY+Xming (这并不重要)。我原以为pam_xauth
会为我创建/root/.Xauthority
,但这没有发生。知道为什么吗?
发布于 2021-11-12 01:06:51
我不确定自2018年以来这种情况已经发生了变化,但现在到了2021年,在Debian上,问题中描述的配置更改工作得很好。pam_xauth
创建是一个带有cookie的临时文件,并将$XAUTHORITY
设置为指向该文件。
这个问题可能与这个GitHub问题有关。它工作的sudo
版本是1.9.5。
https://unix.stackexchange.com/questions/629659
复制相似问题