pam_xauth 无法与 sudo 一起使用:不支持的授权协议

pam_xauth 无法与 sudo 一起使用:不支持的授权协议

我正在尝试在用户之间设置xauthcookie 转发,以便 GUI 程序可以通过 SSH 以任何用户身份运行。我已将以下行添加到/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/文件。~/.xauth/export我在 SSH 客户端上运行 PuTTY+Xming(这并不重要)。我期待为我pam_xauth创造/root/.Xauthority,但那没有发生。知道为什么吗?

答案1

我不确定自 2018 年以来情况是否发生了变化,但现在在 2021 年,在 Debian Bullseye 上,问题中描述的配置更改运行良好。pam_xauth 创造一个带有 cookie 的临时文件并设置$XAUTHORITY为指向此文件。

该问题可能与这个 GitHub 问题关于setuid()呼叫(设置用户 ID)。sudo它工作的版本是1.9.4

相关内容