xterm não está funcionando no RHEL 7.2

0

xterm está jogando abaixo do erro no RHEL 7.2:

$ xterm &


[1] 21638
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s
[1]+  Exit 1                  xterm
[/RHEL/Packages]


$ rpm -qa | grep -i xterm
xterm-295-3.el7.x86_64

o que eu sinto falta aqui?

    
por dcds 06.11.2017 / 14:48

1 resposta

0

curto: não execute o aplicativo como root

longo:

A mensagem diz o que está errado. A maneira comum de obter essa mensagem é fazer login (como usuário normal e sem privilégios) e usar su ou sudo para alternar para o > root usuário.

A mensagem (e verificação) foi adicionada em 1997 (ela apareceu primeiro como um patch para o XFree86 no final de junho como um acompanhamento para discussão em maio, e duas semanas depois no X11R6.3).

Antes disso, root poderia se conectar à sua sessão X e executar qualquer programa que você escolhesse (como root ). Infelizmente, muitos dos programas que provavelmente seriam usados não eram seguros. (Esse ainda é o estado de quase todos os aplicativos de desktop).

A biblioteca X que faz a verificação faz isso depois de ver que é o usuário de root e, em seguida, remove as variáveis de ambiente (como DISPLAY ) que podem tentá-lo para cair nesse pântano de aplicações não seguras.

Alguns sistemas permitem que o usuário de root faça login em uma sessão de desktop; para aqueles aplicativos imediatamente acessíveis foram selecionados para manter as coisas relativamente seguras. Alguns não fazem isso.

Agora ... no Red Hat 7, xterm não está instalado set-uid ou set-gid. O set-uid to root foi usado há 20 anos para abrir os pseudo-terminais do estilo BSD, e o set-gid foi usado para atualizar o utmp. Ambos os que foram embora há um tempo atrás. Você pode ver isso fazendo

ls -l /usr/bin/xterm

Se houver uma permissão de usuário do set-uid ou root, o lugar para começar a procurar é no shell a partir do qual você está executando o xterm.

    
por 07.11.2017 / 00:12