Почему я не могу отправлять сообщения с помощью команды «стена»?

Почему я не могу отправлять сообщения с помощью команды «стена»?

Я пытаюсь отправлять сообщения с помощью wall или write. Чтобы проверить это, я открыл два окна gnome-terminal. Затем в одном окне ввел следующее:

me@host>>wall
message to everyone


<ctrl> + d

Когда я закончил сообщение, я послал сигнал прерывания EOF символ с помощью (ctrl-d). Вместо отправки сообщения терминал издал звуковой сигнал, как будто я ввел недопустимые данные. У меня такое же поведение при записи. Может кто-нибудь помочь мне с тем, что не так?

Редактировать: Вот информация о разрешениях:

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

решение1

И wallв writeDebian (и в Ubuntu) используется setgid (установить-идентификатор-группы) привилегия дляttyгруппа, позволяющая этим программам писать в терминалы других пользователей.

Однако администраторы общих компьютерных систем часто отключают эту функцию. Вы можете увидеть разрешения, выполнив

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

а в обычной системе вы увидите это (даты не имеют значения):

$ 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

Thesв первом поле-rwxr-sr-xэто бит setgid, а четвертое поле — это группаtty. Для работы функции вам понадобятся оба варианта (или эквивалентная группа).

Помимо разрешений, есть еще один аспект, с которым вы столкнетесь при использовании gnome-terminal: wallи writeотправка их сообщенийзарегистрированные пользователи. Они получают эту информацию из файла данных utmp, который gnome-terminal не поддерживает.

Дальнейшее чтение:

Связанный контент