su - usrnm 得到什么?

su - usrnm 得到什么?

我会通过命令在当前的日志Konsole窗口中运行一些闭源程序su - usrnm,我知道这会与usrnm下运行的程序共享桌面屏幕,不够安全,还有哪些其他信息会共享到usrnm?比如剪贴板等...

答案1

如果您的发行版安排跨 X11 GUI 访问su - <username>(即您可以作为sud 用户成功启动新的 GUI 程序),则该程序可以完全访问您在 X11 显示服务器上的会话。这意味着:

  • 它可以捕获您的击键和鼠标移动,甚至在程序之外可见的如果需要的话,它可以打开一个不可见的无边框全屏窗口,将所有键/鼠标事件传递到其下方的窗口,然后窥探所有内容)
  • 它可以访问 GUI 会话的剪贴板
  • 如果某个程序使用 X11 属性来检测并与其自身的其他实例进行通信,则闭源程序可以看到并参与该通信

其他任何事情都取决于您正在使用的 X11 协议扩展、您正在使用的桌面环境以及其他详细信息。

如果闭源程序不需要 GUI,您可以很容易地撤销其 X11 访问权限,方法是在su'ing 之后但启动闭源程序之前执行以下操作:

$ unset DISPLAY
$ unset XAUTHORITY
$ rm ~usrnm/.Xauthority

剩下的只是一个终端会话,类似于您通过执行

ssh -x -a usrnm@localhost

相关内容