Несколько пользователей подключены к одному и тому же имени хоста (IP-адресу) через SSH. «Ps U <env_name>» показывает идентификаторы процессов подключенных. Могу ли я как-нибудь отправить им сообщение?

0

Вопрос говорит сам за себя. Ситуация: есть несколько SSH-логинов, все вошли под одним и тем же именем пользователя. Команда "ps U wvsd" показывает что-то вроде этого:

PID TTY      STAT   TIME COMMAND
1990 ?        S      0:00 sshd: wvsd@notty
1991 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
3388 ?        S      0:00 sshd: wvsd@pts/0
3389 pts/0    Ss+    0:00 -ksh
5174 ?        S      0:00 sshd: wvsd@notty
5175 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
5186 ?        S      0:00 sshd: wvsd@pts/2
5187 pts/2    Ss+    0:00 -ksh
5678 ?        S      0:00 sshd: wvsd@notty
5679 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
7350 ?        S      0:00 sshd: wvsd@notty
7351 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
8602 ?        S      0:00 sshd: wvsd@notty
8603 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
8736 ?        S      0:00 sshd: wvsd@notty
8737 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
8748 ?        S      0:00 sshd: wvsd@pts/6
8749 pts/6    Ss+    0:00 -ksh
10459 ?        S      0:00 sshd: wvsd@notty
10460 ?        Ss     0:00 /usr/lib64/ssh/sftp-server
11151 ?        S      0:00 sshd: wvsd@pts/4
11152 pts/4    Ss     0:00 -ksh
11337 pts/4    R+     0:00 ps U wvsd

Я знаю, что в PID "sshd: wvsd @ notty" вошли другие пользователи. Используя их PID, могу ли я отправить им сообщение?

Это на Linux SUSE 11 x64.

Спасибо

user1776193
источник
Большинство ваших подключенных клиентов используют sftp. Нет терминала для sftp. Таким образом, нет никакого способа сообщить им. Похоже, у вас есть 7 соединений sftp и 4 интерактивных сеанса.
Zoredache

Ответы:

1

Вы можете использовать whoдля получения списка пользователей и их TTY, а затем использовать writeдля отправки сообщения в этот конкретный TTY:

% who -H
NAME     LINE         TIME         COMMENT
teun     pts/0        Dec  9 09:05 (my.hostname.tld)

% write teun pts/0
OHAI

И завершите сообщение, используя Ctrl-D.

Теун Винк
источник
1

Хороший Теун! Я этого не знал!

Вы также можете использовать команду wall для сообщения всем:

wall <enter>
Hello everyone thats logged in!
<Ctrl-D>

И каждый, кто вошел в систему, получит сообщение.

GeoSword
источник