Mostrando seu prompt para outro usuário

Publicado por Rafael Tomelin em 03/06/2008

[ Hits: 13.372 ]

Blog: http://teclinux.no-ip.org:8080

 


Mostrando seu prompt para outro usuário



Essa dica é legal para quando estamos ensinando ou mostrando comandos para outro usuário, eles possam ver o que estamos fazendo.

Estarei logado como usuário root.

1º) Digite w, ficando assim:

# w
13:29:05 up 2:22, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 mail.dominio- 13:11 0.00s 0.11s 0.02s w
root pts/1 10.0.0.1 13:29 4.00s 0.05s 0.05s -bash

Verificamos que estamos acessando a PTS/0 (prompt) e o outro usuário a PTS/1 (prompt).

2º) Acessando o terminal do usuário:

# script | tee /dev/pts/1

Com isso já estamos acessando o prompt do usuário.

Agora, qualquer comando que for feito, o usuário está olhando os comandos. Mas qualquer coisa que o usuário faça nós não conseguimos olhar.

Boa sorte!

Outras dicas deste autor

Administrando o CUPS por linha de comando (parte 1)

Redundância de links v0.1

Implementando servidor de horas no Linux

SSH (PuTTY) automatico pelo Windows

Leitura recomendada

Converter imagem para base64 via shell

Usando o comando SCP!

Verificação automática de disponibilidade de serviços

tasksel: aptitude failed (100) [Resolvido]

O comando lastlog

  

Comentários
[1] Comentário enviado por albertguedes em 03/06/2008 - 16:48h

Cara, sua dica me indicou muitos lances legais pra fazer com isso.
Só complementando, se você abrir 3 terminais no X, seja como user comum ou root, esses terminais vão ser respectivamente

/dev/pts/1
/dev/pts/2
/dev/pts/3

Então você pode mandar de qualquer um para qualquer outro simplesmente por um redirecionamento '>', como 'echo' a partir do terminal 1

$ echo "<frase>" > /dev/pts/2

que manda a "<frase>" para o segundo terminal que foi aberto.
O mesmo se aplica aos consoles F1, F2, etc, só que em vez de '/dev/pts/<numero>', teremos '/dev/tty<numero>'.

E isso tudo descobri só com sua dica, nem precisei ler o man, valeu cara.

[2] Comentário enviado por albertguedes em 03/06/2008 - 16:56h

Acabei de descobrir que funciona remotamente também com ssh.
É só dar o comando

$ ssh <user>@<host> "<comando> > /dev/pts/<numero>"

ou

$ ssh <user>@<host> "<comando> > /dev/tty<numero>"

onde '<user>@<host>' é o usuario e o host para onde você deseja mandar o redirecionamento.

Desculpe se pareço intrometido, mas adorei essa coisa, eu precisava disso a tempos e só agora descobri. Mais uma vez , valeu mesmo Rafael.

[3] Comentário enviado por Ruy_Go em 03/06/2008 - 19:09h

Bem interessante, eu no caso uso o screen... desculpe me meter, mas acho ele bem mais prático, e tdo que o outro usuario escrever ou executar, teremos como estar vendo tambem ;D

[4] Comentário enviado por removido em 04/06/2008 - 11:08h

Boa dica.

[5] Comentário enviado por molecula21 em 04/06/2008 - 11:24h

@Ruy_Go

e como se faz isso com o screen?ja procurei em muito sitio mas não encontrei nada de muito convincente... agradecia a ajuda

[6] Comentário enviado por removido em 04/06/2008 - 14:57h

Ruy,

Basta você logar com um usuário e digitar screen. Em outro terminal, logue com o mesmo usuário e digite screen -x

Pronto, os dois terminais vão interagir totalmente.

[7] Comentário enviado por albertguedes em 04/06/2008 - 15:27h

O screen é bom, mas essa dica do Rafael é útil pra fazer coisas em scripts e em programas , principalmente em C, onde podemos tratar os '/dev/ttyx' e os '/dev/pts/x' como arquivos e realizar as saidas.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts