Существует ли способ узнать, сколько экземпляров пользователя root зарегистрировано в машину Linux?

не уверенный, если это поможет, но у меня есть функция для повторения команд, пока они не возвращают успех:

retry () {
    local delay=1 n

    if ! [[ $1 = *[^0-9]* ]]; then
        # TODO allow delay=0 (prevents Ctrl-C)
        if (($1 > 0)); then
            delay=${1:1}
        fi
        shift
    fi

    # run command
    while ! "$@"; do
        echo "retrying in ${delay}s"
        for ((n=delay; n>0; n--)); do
            sleep 1 || return
        done
    done
}; export -f retry
3
15.02.2013, 02:06
1 ответ

Можно использовать who команда для обнаружения всех зарегистрированных пользователей. Существует w управляйте также доступный узнавать то же.

5
27.01.2020, 21:17
  • 1
    я не думаю, "кого" или "w" покажет нескольким пользователям root, вошел в систему. Можно также использовать "пользователей" –  DemiSheep 14.02.2013, 21:16
  • 2
    Попробуйте его за себя. w и who оба показывают одну строку на корневую сессию и имя хоста/IP, что они зарегистрированы от. –  Stefan Lasiewski 14.02.2013, 23:33
  • 3
    Отметьте: это во многих случаях удаленный rsh и удаленные xterm пользователи не появятся в том, кто, w...., таким образом, Вы не можете полностью зависеть от этого. –  mdpc 15.02.2013, 00:06
  • 4
    Но не были должны они быть видимыми в любом случае в last | head x который читает из wtmp? Вы могли использовать last | head -n 100 | grep root | grep "still logged in" хотя это могло бы также возвратить корни, которые уже вышли из системы несколько минут назад. –  Karma Fusebox 15.02.2013, 02:50
  • 5
    хорошо, я протестировал это с коллегой и "w", "кого" и "пользователи" все шоу считают несколько корней.Спасибо! –  DemiSheep 18.02.2013, 16:08

Теги

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