我需要将一组用户的.Xauthority文件位置更改为$HOME/tmp/.Xauthority,而不是默认的$HOME/.Xauthority

我已经尝试了一些可以从以下方面赶上来的东西:

我在以下几个/etc/.profile.profile.bashrc ....等中设置环境变量,如下所示:XAUTHORITY=$HOME/tmp/.Xauthority

结果为:

使用sshx组(ssh -X server)的用户进行任何登录尝试都会导致锁定$HOME/.Xauthority超时。就像什么都没有改变。有趣的是,如果我echo $XAUTHORITY它显示$HOME/tmp/.Xauthorityauthx也可以正常工作,但在登录时不起作用。

因此,我需要的处理必须在ssh -X之前或建立X连接时进行。我应该在哪里更改它,以便仅由于我不希望root用户或不具有sshX组的用户而受到影响,因为他们最终没有目录,所以只能对一组用户寻址?

最佳答案

我这样做的方法是在XAUTHORITY=/tmp/Xauthority-username中设置~/.ssh/environment,但这需要将/etc/ssh/sshd_config更改为PermitUserEnvironment yes

我使用/tmp是因为这样可以将其保留在每台计算机本地。使用NFS上的主目录,这将成为瓶颈,并导致竞争状况,其中在多个远程主机上同时启动多个应用程序可能导致某些应用程序失败。

08-06 14:14