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 [email protected]
[email protected] 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?

Alexander Bird
fonte

Respostas:

4

Para responder diretamente à sua pergunta:

ssh [email protected] 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.

Joseph Riopelle
fonte
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?

ento
fonte
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á.

superfro
fonte