Por que não consigo enviar mensagens com o comando wall?

2

Estou tentando enviar mensagens com uma parede ou escrever. Para testar isso, abri duas janelas do terminal gnome. Em seguida, entrou o seguinte em uma janela:

me@host>>wall
message to everyone


<ctrl> + d

Quando terminei a mensagem, enviei um caractere EOF de sinal de interrupção com (ctrl-d). Em vez de enviar a mensagem, o terminal apitou para mim como se eu tivesse inserido uma entrada inválida. Eu tenho um comportamento semelhante com escrever. Alguém pode me ajudar com o que está errado?

Editar: aqui estão as informações de permissões:

me@host>>ls -l $(type -p wall)
-rwxr-sr-x 1 root tty 27368 May 26 18:31 /usr/bin/wall
    
por ichbinallen 01.10.2016 / 00:46

1 resposta

1

Tanto wall como write no Debian (e Ubuntu) usam o privilégio setgid ( set-group-id ) para o grupo tty para permitir programas para escrever nos terminais de outros usuários.

No entanto, é comum que os administradores de sistemas de computadores compartilhados desativem esse recurso. Você pode ver as permissões fazendo

ls -lL /usr/bin/write /usr/bin/wall

e em um sistema normal veria isso (datas não importam):

$ ls -lL /usr/bin/write /usr/bin/wall
-rwxr-sr-x 1 root tty 23056 Dec 11  2012 /usr/bin/wall
-rwxr-sr-x 1 root tty 14624 Jun 11  2012 /usr/bin/write

O s no primeiro campo -rwxr-sr-x é o bit setgid e o quarto campo é o grupo tty . Você precisa dos dois (ou de um grupo equivalente) para fazer o recurso funcionar.

Além das permissões, há outro aspecto com o qual você encontrará o gnome-terminal: wall e write enviam suas mensagens para usuários conectados . Eles obtêm essa informação do arquivo de dados utmp, que o gnome-terminal não suporta.

Leitura adicional:

por 01.10.2016 / 02:34