usar sudo su
provavelmente perderá toda a autorização.
configuração da autenticação da chave ssh, use ssh -AY user2@localhost
(ou ssh -AY user2@localhost xterm
)
O encaminhamento do X11 funciona quando estou logado no meu cluster do CentOS 6.6 como eu (usando ssh -AY user@ipaddress
). Quando tento alternar usuários, por exemplo sudo su user2
e tente acionar xterm
, recebo o erro:
X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:11.0
Como obtenho o encaminhamento do X11 para trabalhar neste caso?
usar sudo su
provavelmente perderá toda a autorização.
configuração da autenticação da chave ssh, use ssh -AY user2@localhost
(ou ssh -AY user2@localhost xterm
)
Você não é o primeiro a sofrer este problema. A causa é bem simples: seu servidor X está (razoavelmente) configurado para exigir um token de autenticação, e o segundo usuário não tem acesso a esse token. Existem várias soluções:
Não execute aplicativos X11 como o outro usuário. Como você, inicie um xterm executando um shell como o outro usuário:
xterm -e sudo -s user2
Obviamente, essa abordagem não funcionará se você realmente precisar executar um aplicativo GUI como o outro usuário, mas é sempre válido considerar algo mais complexo.
Permite que o usuário2 acesse seu servidor X sem autenticação. Como você, adicione esse usuário usando xhost:
xhost +SI:localuser:user2
sux
e use isso em vez de su
. É um invólucro de shell simples e agora está em grande parte no esquecimento, considerando soluções como a próxima. Configure su
e sudo
para usar pam_xauth
. Este é um módulo padrão (em libpam-modules
no Debian). Tudo o que é necessário é adicionar a linha
session optional pam_xauth.so
para /etc/pam.d/su
e para /etc/pam.d/sudo
. Existem opções adicionais (veja a man page), mas é improvável que você precise delas.