随着即将发布的14.04版本的sux(围绕su的封装程序,将转移您的X凭据)不再包含在Ubuntu中。(我认为它已被删除,因为它是从Debian中拉出的,因为没有维护原始代码。)
我正在寻找简单的替代方法,而不是需要您弄乱配置文件或在本地运行sshd的方法。
评论者:这不是题外话,与14.04没有关系。
—
塞斯(Seth)
您真的需要这个吗?如果您的sudoers选项设置正确(即,以便sudo在更改身份时保留HOME),则无需对.Xauthority做任何特殊的事情。这就是我的笔记本电脑的配置方式,我从不使用sux ...只是'sudo {command}'
—
Stabledog 2014年
@Stabledog怎么工作?我在哪里设置?是否有sudo配置文件?我的目标是登录到用户A的桌面,然后以用户B的身份获得一个终端,所有X都将通过该终端到达桌面。希望有道理...我现在可以使用sux进行操作的示例,我需要以下替代方案:用户A登录并打开终端A @ desktop:〜$ sux-BB @ desktop:〜$ firefox Firefox打开,但是用户B的设置,书签和文件访问用户B的主目录。
—
索伦
是的,我一直在做这种事情。有两件事情需要理解:“ /”外部用户的〜/ .Xauthority也必须成为内部用户的.Xauthority,并且ssh设置的DISPLAY变量需要在内部外壳中匹配。因此,例如,您可以将〜/ .Xauthority文件从“ / home / tom”复制到/ home / jerry,修复权限,在“ jerry” shell中设置DISPLAY值。当以Xerry身份启动X程序时,DISPLAY值将告诉X库如何查找显示内容,/ home / jerry中的.Xauthority文件将为它提供auth数据。
—
稳定狗2014年
但这对每次登录都是很麻烦的。修复/ etc / sudoers更加干净,以便当他执行“ sudo -u jerry bash”打开作为jerry的shell时,保留tom的HOME和DISPLAY值。sudoer中有注释,这些注释解释了如何在sudo调用中传播环境变量。在编辑sudeor时,一定要使用visudo,这样,如果您搞砸了,就不会将自己锁定在机器之外!
—
稳定狗2014年