Как проверить, вошел ли кто-то в систему на удаленном компьютере?

Как проверить, вошел ли кто-то в систему на удаленном компьютере?

Учитывая имя машины, я хочу проверить, вошел ли кто-то в систему на этой машине или нет. Достаточно будет просто ответа "да/нет" (мне не нужно имя пользователя). Есть ли подсказки, какую команду искать?

Под «входом в систему» ​​я подразумеваю использование графического интерфейса на этой машине — ssh не считается.

Можете считать, что у меня есть авторизованный SSH-вход на эту машину.

решение1

whoпоказывает, кто вошел в систему. Если они находятся в графическом интерфейсе, их «терминалом» является X-дисплей, к которому они подключены (в противном случае tty):

paul     :0           2013-02-20 11:43

Так

who | grep paul

ничего не вернет, если я не вошел в систему, или что-то еще, если я вошел в систему.

Если вы хотите исключить ssh и консольные соединения, то:

who | grep -v pts | grep paul

Эту команду можно запустить удаленно, добавив к команде ssh:

ssh user@host 'who | grep -v pts | grep paul'

Это позволит войти в удаленную машину, выполнить whoи вернуть результаты.

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