O encaminhamento do X11 falha ao alternar usuários

1

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?

    
por irritable_phd_syndrom 29.03.2016 / 12:51

2 respostas

1

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 )

    
por 29.03.2016 / 13:41
1

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:

  1. 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.

  2. Permite que o usuário2 acesse seu servidor X sem autenticação. Como você, adicione esse usuário usando xhost:

    xhost +SI:localuser:user2
    
  3. Instale 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.
  4. 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.

por 29.03.2016 / 17:06

Tags