根据我自己的经验,su - 用户用于破解 SSH X11 身份验证。网上有很多帖子解释了如何使用xauth list和xauth add在会话之间复制 MIT-COOKIE。
但是,由于某种原因,这不再是必需的。
当我使用ssh -X usera@host登录时,我照常看到以下内容:
-rw------- 1 usera usera 63 Jul 25 18:17 .Xauthority
当我执行su - userb时,系统会自动创建并使用以下内容:
-rw------- 1 userb userb 63 Jul 25 18:18 .xauthpNLBVw
新的 .xauth 文件包含前一个用户的 MIT-COOKIE 的副本,因此允许我运行 X11 应用程序。这不一定是一个坏主意,但这是如何实现的。我已经尝试过 RHEL 5-7 并且在所有这些系统上都是相同的,即使没有任何改变可以解释这种新行为。
有任何想法吗?谢谢!
这是由
pam_xauth.so
您可以在文档中找到的模块实现的man pam_xauth
。如果您查看最后一行,/etc/pam.d/su
您应该找到一行当你这样做时运行模块
su - userb
。在环境中,变量XAUTHORITY
将被设置为带有复制 cookie 的临时文件。该文件在会话结束时被删除。有趣的是,如果
usera
只想将他们的显示 cookie 转发给给定的一组用户,他们可以列在~usera/.xauth/export
. 同样,userb
可以列出它将接受来自 in 的 cookie 的用户~userb/.xauth/import
。