我会通过命令在当前的日志Konsole窗口中运行一些闭源程序su - usrnm
,我知道这会与usrnm下运行的程序共享桌面屏幕,不够安全,还有哪些其他信息会共享到usrnm?比如剪贴板等...
答案1
如果您的发行版安排跨 X11 GUI 访问su - <username>
(即您可以作为su
d 用户成功启动新的 GUI 程序),则该程序可以完全访问您在 X11 显示服务器上的会话。这意味着:
- 它可以捕获您的击键和鼠标移动,甚至在程序之外可见的如果需要的话,它可以打开一个不可见的无边框全屏窗口,将所有键/鼠标事件传递到其下方的窗口,然后窥探所有内容)
- 它可以访问 GUI 会话的剪贴板
- 如果某个程序使用 X11 属性来检测并与其自身的其他实例进行通信,则闭源程序可以看到并参与该通信
其他任何事情都取决于您正在使用的 X11 协议扩展、您正在使用的桌面环境以及其他详细信息。
如果闭源程序不需要 GUI,您可以很容易地撤销其 X11 访问权限,方法是在su
'ing 之后但启动闭源程序之前执行以下操作:
$ unset DISPLAY
$ unset XAUTHORITY
$ rm ~usrnm/.Xauthority
剩下的只是一个终端会话,类似于您通过执行
ssh -x -a usrnm@localhost