Как я могу определить все терминалы, на которых есть логин root в Linux?
who -a
кажется, дает мне регулярный вход в систему, но как насчет root?
В who
команда (и w
команда в этом отношении) также показывает вход в систему с правами root, но если кто-то вошел в систему как обычный пользователь и поднял свои права с помощью su
/sudo
чем это не будет отображаться, поскольку логин на самом деле не изменился.
Так что в этом случае вам, вероятно, лучше поискать su
, sudo
или /bin/bash
(или что угодно в оболочке).
Я предполагаю, что что-то вроде этого должно сработать для вас:
ps aux | grep -E '/bin/zsh|/bin/bash'
Хотя вы, наверное, захотите посмотреть /etc/shells
вместо жесткого кодирования оболочек.
Использовать w
чтобы увидеть, кто вошел в систему:
w | grep root