Как я могу отвечать на широковещательные сообщения?

Вы можете использовать перенаправление дескриптора на копрок

#!/bin/bash 
exec 3<&1
coproc mytee { tee log.out >&3;  }
exec >&${mytee[1]} 2>&1

... your script ...

STDOUT и STDERR будут объединены в выводе скрипта. Было бы здорово, если бы кто-нибудь нашел способ объединить их в лог-файле, но разделить в выводе.

2
06.06.2019, 15:49
2 ответа

Это выглядит как широковещательная рассылка, отправленная кем-то, вошедшим в систему как пользователь root с помощью утилиты wall. Вы можете использовать эту же команду для трансляции собственного сообщения. Например:

wall "Hello back"

Или

wall << EOF
hello back
EOF

Если вы просто хотите ответить одному пользователю, не транслируя сообщение всем в вашей системе, вы можете использоватьwrite:

write root << EOF
hello back
EOF

Очевидно, тот факт, что это говорит от root@localhost.localdomain, подразумевает, что кто-то вошел в систему как root. Если вы знаете, что никто, кроме вас, не должен входить в систему как root, тогдапримите меры , потому что это предполагает, что ваша машина была скомпрометирована.

1
27.01.2020, 22:08

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

wall -g root "Hi there"
# Will send to all users in the root group
wall "hello, world"
# Will send to all logged in users

Также касса mesgи talk.

3
27.01.2020, 22:08

Теги

Похожие вопросы