根据我自己的经验,su用户过去常破坏SSH X11认证.在网络上有大量的文章解释如何使用xauth列表和xauth add在会话之间复制MIT-COOKIE。
然而,由于某种原因,这不再是必要的。
当我使用ssh -X @host登录时,我看到如下内容:
-rw
当我执行su - userb时,系统会自动创建和使用以下内容:
-rw
新的.xauth文件包含前一个用户的MIT的副本,从而允许我运行X11应用程序。这不一定是个坏主意,但这是如何实现的。我试过RHEL 5-7,在所有这些系统上都是一样的,尽管没有什么改变可以解释这种新的行为。
有什么想法吗?谢谢!
发布于 2019-07-25 19:03:04
这是由pam_xauth.so模块实现的,您可以在man pam_xauth中找到该模块。如果您查看/etc/pam.d/su的最后一行,您应该找到一行
session optional pam_xauth.so它在执行su - userb时运行模块。在环境中,变量XAUTHORITY将被设置为带有复制的cookie的临时文件。此文件将在会话结束时删除。
有趣的是,如果usera只想将他们的显示cookie转发给给定的一组用户,那么他们可以在~usera/.xauth/export中列出。类似地,userb可以列出它将在~userb/.xauth/import中接受cookie的用户。
https://unix.stackexchange.com/questions/532139
复制相似问题