我需要将一组用户的.Xauthority
文件位置更改为$HOME/tmp/.Xauthority
,而不是默认的$HOME/.Xauthority
。
我已经尝试了一些可以从以下方面赶上来的东西:
我在以下几个/etc/.profile
,.profile
,.bashrc
....等中设置环境变量,如下所示:XAUTHORITY=$HOME/tmp/.Xauthority
结果为:
使用sshx组(ssh -X server
)的用户进行任何登录尝试都会导致锁定$HOME/.Xauthority
超时。就像什么都没有改变。有趣的是,如果我echo $XAUTHORITY
它显示$HOME/tmp/.Xauthority
。 authx
也可以正常工作,但在登录时不起作用。
因此,我需要的处理必须在ssh -X
之前或建立X连接时进行。我应该在哪里更改它,以便仅由于我不希望root用户或不具有sshX组的用户而受到影响,因为他们最终没有目录,所以只能对一组用户寻址?
最佳答案
我这样做的方法是在XAUTHORITY=/tmp/Xauthority-username
中设置~/.ssh/environment
,但这需要将/etc/ssh/sshd_config
更改为PermitUserEnvironment yes
。
我使用/tmp
是因为这样可以将其保留在每台计算机本地。使用NFS上的主目录,这将成为瓶颈,并导致竞争状况,其中在多个远程主机上同时启动多个应用程序可能导致某些应用程序失败。