use a tela gnu quando ssh'ed como usuário, mas su como outro


8

Abaixo está o que acontece ao tentar usar a tela gnu. Basicamente, tudo funciona bem até que eu su como outro usuário. então eu recebo um Cannot open your terminal '/dev/pts/7' - please check.erro

l413:~$ ssh sbird@example.com
sbird@example.com password: 
sbird@example:~$ screen
[screen is terminating]
sbird@example:~$ su - gradplan
Password: 
gradplan@example:~$ screen 
Cannot open your terminal '/dev/pts/7' - please check.
gradplan@example:~$ 

Como posso entrar como sbird, su para gradplan e ainda usar a tela?

Respostas:


4

Para responder diretamente à sua pergunta:

ssh sbird@example.com su grandplan -c “script /dev/null -qc \"screen\""

Não altere as permissões no seu / dev / pts / X - apenas introduz uma falha de segurança desnecessária.


11

Digite script /dev/nullantes de iniciar screen.

$ su - gradplan
$ screen
Cannot open your terminal '/dev/pts/15' - please check.
$ script /dev/null
Script started, file is /dev/null
$ screen
# do whatever inside the screen
[detached]
$

ref: ServerFault: Por que o redirecionamento de 'script' para / dev / null / permite que 'screen' funcione enquanto é processado como outro usuário?


Para futuros leitores, eu acho que usar a tela interna é realmente uma prática melhor, mas como isso responde ao que eu pedi melhor, aceitei isso como a resposta certa.
Alexander Bird

1

Se vocês:

ls -l /dev/pts/7

Você verá que ele pertence ao sbird; quando você muda para o gradplan, ele não tem permissões para tocar nesse dispositivo.

Você pode tentar fazer

chmod a+rw /dev/pts/X

(Sendo X em que número de pontos você está conectado no momento, porque ele será alterado) antes da tela.

Ou você pode filtrar como sbird e, em cada janela da tela, lá.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.