Você está na página 1de 6

O comando 

wall é responsável por enviar mensagens a serem


recebidas por usuários que estejam conectados ao sistema –
seja a partir de um terminal tty ou emulador de terminal (pts).

Para compor os próximos exemplos, estaremos utilizando um


host Debian 7 (sem interface gráfica) e um CentOS 7 (com
interface gráfica). Sendo assim, utilizando o tty1 do Debian,
acompanhe o processo de logon do usuário root: 

Debian GNU/Linux 7.0 debian7 tty1

debian7 login: << login do usuário root

Password: << informar a senha do usuário root

Debian GNU/Linux comes with ABSOLUTELY NO WARRANY,


to the extent permitted by applicable law.

[root@debian7:~]#  

Estando agora no emulador de terminal (pts/0) do CentOS,


iremos realizar uma conexão via SSH ao host Debian utilizando
o seu usuário "pedro":

[dltec@curso7:~]$  ssh pedro@192.168.0.110

pedro@192.168.0.110's password: << informar a senha do


usuário pedro

Linux debian7 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686

The programs included with the Debian GNU/Linux system are


free software;

the exact distribution terms for each program are described in


the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO


WARRANTY, to the extent

permitted by applicable law.

[pedro@debian7:~]$ 

Voltando ao tty1 do Debian, vamos pressionar as teclas Ctrl +


Alt + F2 para acessar o tty2 e logar com o usuário "dltec":

Debian GNU/Linux 7.0 debian7 tty2

debian7 login: dltec

Password: << informar a senha do usuário dltec

The programs included with the Debian GNU/Linux system are


free software;

the exact distribution terms for each program are described in


the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO


WARRANTY, to the extent

permitted by applicable law.

[dltec@debian7:~]$  

Desta forma, neste momento, existem 3 conexões ao sistema


Debian: o usuário root (tty1), o usuário pedro (pts/0 – acesso
feito via SSH a partir do CentOS) e o usuário dltec (tty2). Esses
acessos poderão ser visualizados a partir do comando who,
por exemplo:

[root@debian7:~]#  who

dltec    tty2         2019-12-03 08:57

root     tty1         2019-12-03 08:48

pedro    pts/0        2019-12-03 08:53 (192.168.0.123)

Vamos agora utilizar o usuário root para que sejam enviadas


mensagens a todos os usuários logados. Para isto,
utilizaremos o comando wall. Observe o seu comportamento:

[root@debian7:~]# wall

"Mensagem enviada pelo comando wall"

Para enviar esta mensagem de broadcast aos demais


usuários, basta pressionar as teclas Ctrl e d. Dessa forma,
observe por exemplo a mensagem exibida no terminal do
"pedro":

Broadcast Message from


root@debi                                              

        (/dev/tty1) at 9:03 ...                                                                              

"Mensagem enviada pelo comando wall"     

Agora, utilizando o usuário "pedro", vamos tentar realizar o


mesmo procedimento:

pedro@debian7:~$ wall 
"Mensagem enviada por Pedro"

Broadcast Message from


pedro@debi                                             

        (/dev/pts/0) at 9:12 ...                                                                           

"Mensagem enviada por Pedro"       

A mensagem anterior é exibida apenas no terminal de "pedro".


Isso acontece porque os demais terminais não possuem o
acesso a estrita permitido. Isso poderá ser facilmente
visualizado a partir do comando who junto à opção –T:

[pedro@debian7:~]$ who -T 

dltec    - tty2         2019-12-03 08:57

root     - tty1         2019-12-03 08:48

pedro    + pts/0        2019-12-03 08:53 (192.168.0.123)

Repare que os usuários "dltec" e "root" possuem o caractere "-"


posicionado antes do indicador do terminal utilizado. Isso
aponta que esses terminais não aceitam procedimentos de
escrita em suas sessões a partir de um usuário comum.

Utilizando o usuário "dltec" como exemplo, vamos executar o


comando mesg em seu terminal. Este comando é utilizado para
controlar o acesso a escrita nas sessões dos terminais:

[dltec@debian7:~]$  mesg 

is n

Repare na saída que o caractere "n" é exibido. Isto previne que


outros comuns (não o root) realizem escritas em suas sessões.
Para alterarmos isso, vamos utilizar o comando mesg junto ao
caractere "y" e, em seguida, executarmos o
comando who novamente junto à opção -T: 

[dltec@debian7:~]$  mesg y

[dltec@debian7:~]$  who -T

dltec    + tty2         2019-12-03 08:57

root     - tty1         2019-12-03 08:48

pedro    + pts/0        2019-12-03 08:53 (192.168.0.123)

Veja que agora o caractere "+" também é posicionado antes do


indicador do terminal utilizado por "dltec". Sendo assim, agora
ele irá conseguir receber a mensagem enviada pelo usuário
"pedro".

Como a sessão do usuário "dltec" consegue receber


operações de escrita a partir de outros usuários, "pedro"
poderá executar o comando write para lhe enviar mensagens
(somente para "dltec"). Dessa forma, "pedro" poderá executar:

[pedro@debian7:~]$ write dltec tty2 

Após pressionar "Enter", a seguinte mensagem já será exibida


na sessão do usuário "dltec":

Message from pedro@debian7 on pts/0 at 09:25 ...

Agora, "pedro" poderá digitar quaisquer mensagens desejadas


e, a cada "Enter", essas mensagens vão sendo exibidas na
sessão do usuário "dltec". Para finalizar este procedimento,
basta que o usuário "pedro" pressione as teclas Ctrl e c. No
terminal do usuário "dltec" será exibida a string "EOF",
indicando que a comunicação foi finalizada.

Informação adicional:

O comando wall também consegue enviar mensagens


contidas em um arquivo. Partindo do princípio que o
arquivo "mensagem.txt" esteja posicionado no diretório
corrente utilizado por "pedro", basta executar o comando
da seguinte forma:

[pedro@debian7:~]$  cat mensagem.txt | wall

Você também pode gostar