Рис. 2.8. Информация о пользователях, выведенная командой who
Команды w и who, отображающие сеансы пользователей, работающих в системе, берут информацию из журналов аудита (например, из файла /var/log/utmp). Поэтому эти команды неверно отображают информацию о пользователе, если он после регистрации командой su сменил свой имидж. Если пользователь в этой консоли «трансформировался» в администратора или администратор работает под именем обычного пользователя, команды w и who не покажут существующего статуса пользователей.
Утилиты, предназначенные для межконсольного обмена, называются write и wall. Они принадлежат владельцу root и группе tty. Права доступа к этим утилитам обозначены битовой строкой r-xr-sr-x. Установка эффективного права SGID предусмотрена для того, чтобы все пользователи могли посылать и читать сообщения с правами группы tty.
С помощью утилиты write пользователи могут посылать сообщения другим пользователям с указанием конкретного имени и/или терминала, при условии, что запись в него разрешена. Ее синтаксис весьма прост:
write <user_name> [tty_name]
После ввода команды последует перевод строки, в которую необходимо вводить текст сообщения. Если сообщение длинное, завершать строку и переходить к новой строке следует с помощью клавиши <Enter>. Корреспондент будет получать сообщение построчно. Завершить сообщение следует комбинацией клавиш <Ctrl>+<D>. Но если подобным образом попытается остановить вывод ненужного сообщения получатель, его ждет завершение сеанса с необходимостью повторной регистрации.
Утилита wall служит для широковещательного оповещения и может использоваться для передачи во все доступные на запись консоли срочных сообщений. Она вводится без каких–либо аргументов. Запись и окончание сообщения производится по аналогии с командой write.
Для того чтобы предотвратить анонимную и безответственную передачу сообщений с помощью указанных команд, вывод информации сопровождается сведениями о том, откуда (номер терминала) и когда сообщение было отправлено.
Администратор, впрочем, может обойтись без таких команд, напрямую адресуясь к специальным файлам устройств: