Отправить сообщение всем пользователям linux

Как отправить сообщение зарегистрированным пользователям в терминале Linux

Как я могу отправлять сообщения зарегистрированным пользователям на сервере Linux? Если вы задаетесь этим вопросом, то это руководство поможет вам узнать, как это сделать. Мы продемонстрируем, как отправить сообщение всем или определенному вошедшему в систему пользователю на терминале в Linux.

Linux предлагает множество средств для отправки сообщений пользователям, вошедшим на сервер, как описано в двух приведенных ниже методах.

В первом методе мы будем использовать команду стены — напишите сообщение всем пользователям, вошедшим в систему на терминале, как показано ниже.

# wall "System will go down for 2 hours maintenance at 13:00 PM"

Чтобы отключить обычный баннер, напечатанный стеной, например:

Broadcast message from (pts/2) (Sat Dec 9 13:27:24 2017):

Добавьте флаг -n (подавить баннер), однако его может использовать только пользователь root.

# wall -n "System will go down for 2 hours maintenance at 13:00 PM"

Во втором методе мы будем использовать команду записи, которая предустановлена во всех, если не в большинстве дистрибутивов Linux. Он позволяет отправить сообщение другому пользователю в терминале с помощью tty.

Сначала проверьте всех вошедших в систему пользователей с помощью команды who, как показано на рисунке.

В настоящее время в системе активны два пользователя (tecmint и root), теперь пользователь aaronkilik отправляет сообщение на пользователь root.

$ write root pts/2 #press Ctrl+D after typing the message.

  1. Показывать пользовательское сообщение пользователям перед выключением сервера Linux
  2. Защитите входы по SSH с помощью баннерных сообщений SSH и MOTD

Вот и все! Поделитесь с нами другими методами или командами для отправки сообщений всем зарегистрированным пользователям через терминал в Linux. Если у вас есть какие-либо вопросы, пожалуйста, используйте форму обратной связи ниже.

Источник

Команда wall

В Linux, как и во всех Unix-подобных системах, команда wall позволяет отправлять сообщение или содержимое файла всем вошедшим в систему пользователям.

Примеры использования команды wall в Linux

Описание

Команда wall отображает содержимое файла или, по умолчанию, его стандартный ввод на терминалах всех вошедших в систему пользователей. Она заменит все строки длиннее 79 символов на новые. Короткие строки будут дополнены пробелами до 79 символов. Утилита всегда помещает возврат каретки и новую строку в конце каждой строки.

Читайте также:  Linux мой набор приложений

Только суперпользователь может писать на терминалы пользователей, которые выбрали блокировку сообщений.

Синтаксис

Опции

-g, —group Отправлять сообщения только в группу -n, —nobanner Подавить баннер -t, —timeout Время ожидания записи в секундах (по умолчанию — 300 секунд) -h, —help Вывести эту справку -V, —version Вывести версию

Использование команды wall в Linux

Отправление сообщения всем пользователям

После этого вводится любое сообщение или сообщения, которые необходимо отправить вошедшим в систему пользователям:

oleg@mobile:~:$ wall Позвольте вам заметить с укоризной – И поскорей возьмите это в толк! – Мы выполняем долг перед Отчизной, Священный перед Родиною долг!

По окончании ввода сообщения нажимается Ctrl+D для отправки сообщения. Сообщение будет получено на своих терминалах всеми зарегистрированными пользователями.

Отправление сообщений из файла

При необходимости периодического повторения каких-либо сообщений целесообразнее ввести их в файл. Для отправления сообщения из этого файла пользователям, вошедшим в систему, потребуются привилегии sudo .

Отправление содержимого файла message.txt всем пользователям от имени суперпользователя:

oleg@mobile:~:$ sudo wall message.txt oleg@mobile:~:$

Отправление сообщения в группу

Вместо отправки сообщения всем вошедшим в систему пользователям можно отправить его только членам группы, которые в данный момент вошли в вашу систему. Синтаксис следующий:

Например, чтобы отправить сообщение группе с именем audio , команда будет такой:

oleg@mobile:~:$ sudo wall -g audio

По окончании ввода сообщения нажимается Ctrl+D для отправки сообщения. Сообщение будет получено на своих терминалах всеми членами группы audio , которые в данный момент вошли на сервер.

Подавление баннера

Для подавления баннера, который обычно отображается перед выводом сообщения применяется опция -n , которую может использовать лишь суперпользователь:

oleg@mobile:~:$ wall -n wall: --nobanner is available only for root

Теперь все зарегистрированные пользователи, вошедшие в систему, получат сообщение без баннера.

Вывод информации о версии

Для вывода версии утилиты при её запуске используется опция -V :

oleg@mobile:~:$ wall -V wall из util-linux 2.38.1 oleg@mobile:~:$ 

Заключение

В Linux команда wall — очень удобная утилита, помогающая системному администратору быстро уведомить других пользователей о необходимости сохранения их работы перед выключением или перезагрузкой системы.

Источник

Отправить сообщение другому пользователю на сервере в Unix/Linux

Отправить сообщение другому пользователю на сервере в Unix/Linux

Так бывает, что на сервере работают и другие пользователи одновременно с вами. Допустим вам, необходимо выполнить перезагрузку ОС так,чтобы другие юзеры не пострадали и успели сохранить свои данные до ребута. Сейчас я расскажу как можно это сделать несколькими способами.

Для начала, посмотрим кто находится в системе:

18:07:26 up 38 days, 6:22, 2 users, load average: 1.22, 1.24, 1.25 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT captain pts/0 159.224.217.24 17:46 1.00s 0.45s 0.00s w captain pts/1 159.224.217.24 17:58 7:05 0.11s 0.11s bash -l

Так же, можно использовать:

captain pts/0 2017-11-18 17:46 00:05 143820 (159.224.217.24) captain pts/1 2017-11-18 17:58 . 145964 (159.224.217.24)

Для примера, я залогинился на сервер дважды от одного и того же юзера.

Читайте также:  Linux which kernel version is running

-=== СПОСОБ 1 — Используем echo команду ==-

Можно отправить сообщение другому пользователю следующим образом:

# echo -e "\033[0;31m Can I reboot this server. OK? \033[0m" > /dev/pts/1
  • echo -e «\033[0;31m Can I reboot this server… OK? \033[0m» — Команда.
  • /dev/pts/1 — Это открытая сессия пользователя.

PS: Я использую в данном примере подсветку, чтобы можно было сразу ее увидеть и другому пользователю все было понятно.

-=== СПОСОБ 2 — Используем write команду ==-

Так же, можно использовать следующий пример:

Напишите сообщение и отправьте его через нажатие ‘Enter’, и оно будет отправлено в терминал юзера. Используйте Ctrl+D чтобы прервать утилиту write.

Можно написать сообщение в файл (предположим — send_to_user.txt):

И потом, чтобы отправить данное послание, используйте:

$ cat send_to_user.txt | write captain pts/1

Очень простая и полезная тулза.

-=== СПОСОБ 3 — Используем wall команду ==-

Для отправки широковещательного сообщения всем подключенным пользователям, используется команда wall (wall = write to all):

$ wall I will reboot this server at 02:00!

Но данное сообщение будет отправлено только после того, как вы нажмете — Ctrl+D

Можно написать сообщение в файл (предположим — send_to_user.txt):

И потом, чтобы отправить данное послание, используйте:

$ cat send_to_user.txt | wall

Вот и все, статья «Отправить сообщение другому пользователю в Unix/Linux» завершена.

Источник

Команда wall в Linux с примерами

Favorite

Добавить в избранное

Главное меню » Linux » Команда wall в Linux с примерами

Команда wall в Linux с примерами

В среде Linux существуют сценарии, когда несколько пользователей одновременно работают на сервере через SSH. Однако иногда системному администратору необходимо перезапустить или выключить систему, например, из-за обслуживания системы, обновления ядра, добавления или удаления оборудования с сервера. В этом случае системный администратор должен проинформировать всех вошедших в систему пользователей, чтобы они сохранили свою работу. Электронная почта не подходит в этой ситуации, так как вам сначала нужно узнать, кто вошел в систему, а затем отправлять им электронные письма. Кроме того, вы не знаете, когда пользователь прочитает письмо. К счастью, в Linux есть команда «wall», которая позволяет это легко сделать.

Здесь мы собираемся описать использование команды стены в Linux. Помните, что команда wall работает одинаково для всех дистрибутивов Linux.

Команда «wall» отображает сообщение только в окне Терминала вошедших в систему пользователей. Пользователи, работающие только с графическим интерфейсом без открытого окна терминала, не смогут видеть сообщения.

Команда стены Linux

Команда Wall в Linux позволяет отправлять сообщение или содержимое файла всем пользователям, вошедшим в систему в данный момент. Если файл или сообщение не указаны, команда wall считывает сообщение со стандартного ввода (стандартный ввод).

Синтаксис команды wall следующий:

$ wall [options] [message-or-filename]

Отправить сообщение всем пользователям

Чтобы отправить сообщение всем пользователям, вошедшим в систему, введите wall, а затем сообщение, которое вы хотите отправить.

$ wall Система выходит из строя на 1 час обслуживания.

Эта команда отправит сообщение всем вошедшим в систему пользователям с открытым окном терминала.

Читайте также:  Javascript редакторы для linux

Для некоторых дистрибутивов Linux вы должны выполнить указанную выше команду от имени суперпользователя. Кроме того, если пользователь выбрал отклонение сообщений на свои Терминалы (например, с помощью команды mesg), то только пользователь sudo сможет отправлять сообщения на свой терминал.

Команда wall также считывает сообщение из стандартного ввода (стандартный ввод). Для этого просто введите wall и нажмите Enter.

После этого введите любое сообщение или сообщения, которые вы хотите отправить зарегистрированным пользователям. Когда вы закончите вводить сообщения, нажмите Ctrl + D, чтобы отправить эти сообщения.

this is first line this is second line .

Вот результат, который все зарегистрированные пользователи получили на своем Терминале.

Отправить сообщение из файла

Если есть какие-то сообщения, которые вам нужно часто повторять, вы можете просто ввести их в файл. Когда вам нужно отправить эти сообщения вошедшим в систему пользователям, просто вызовите этот файл с помощью команды wall. Помните, что вам потребуются привилегии sudo, если вы хотите отправить сообщение из файла.

Например, в следующем выводе содержимое файла было сначала показано с помощью команды cat. Затем, чтобы отправить сообщение, содержащееся в файле, имя файла передается команде wall.

Это выходные данные (из файла msg.txt ), полученные вошедшими в систему пользователями.

Отправить сообщение группе

Вместо того, чтобы отправлять сообщение всем вошедшим в систему пользователям, вы можете отправить его только тем членам группы, которые в данный момент вошли в вашу систему. Синтаксис следующий:

Например, чтобы отправить сообщение группе с именем «sshusers», команда будет выглядеть так:

$ wall -g sshusers Система выходит из строя на 1 час обслуживания.

Все члены группы «sshusers», которые в данный момент вошли на сервер, получат указанное сообщение.

Подавить баннер

Команда wall отображает баннер перед отображением сообщения.

Чтобы подавить этот баннер, используйте параметр -n с командой wall:

Например, следующая команда будет отображать только указанное сообщение при подавлении баннера.

$ wall -n Система выходит из строя на 1 час обслуживания.

Все вошедшие в систему пользователи Терминала получат сообщение без баннера.

Просмотр информации о версии

Чтобы просмотреть версию команды стены, используйте следующую команду:

Следующий вывод показывает версию утилиты wall 2.34.

Wall — это удобная утилита, которая помогает администратору многопользовательской системы быстро уведомлять других пользователей о необходимости сохранения их работы перед выключением или перезагрузкой системы. В этой статье мы рассмотрели, как использовать команду wall для связи с вошедшими в систему пользователями. Надеюсь, вы найдете это интересным и полезным.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector