Иногда процесс входа в систему для пользователей занимает много времени, поскольку во время входа в систему выполняется много вещей, например, автоматическое монтирование домашнего каталога.
Мы хотим измерить, сколько времени требуется для входа в систему каждого пользователя. Мы хотим измерить время между вводом пользователем имени пользователя и пароля и получением командной строки или рабочего стола. Все рабочие станции - это Linux Centos, и вход в систему может осуществляться через консоль или ssh.
Я поискал в Интернете, но не нашел ничего ценного.
Буду признателен за любой намек или помощь.
Спасибо.
Вы не сказали, в какой тип сеанса входят пользователи.
Аутентификация и последующее взаимодействие происходят в отдельных процессах. Таким образом, вам нужно будет захватить временные метки этих двух событий и сравнить их, чтобы получить истекшее время. Они будут происходить под разными uid, поэтому, вероятно, проще использовать syslog для хранения временных меток.
Аутентификация в системе Linux для ssh, консольного tty и системы XWindow обрабатывается PAM (наряду с другими аутентификациями), поэтому я бы написал собственный Модуль аутентификации PAM чтобы зафиксировать эту метку времени. Обратите внимание, что это должно быть настроено как "обязательный".
Для входа в оболочку интерактивное время может быть зафиксировано в соответствующей точке в .profile.
Для входа в XWindow это немного сложнее. Обычно существует цепочка начальных загрузок, последняя из которых относится к среде рабочего стола, но последняя запись в Список автозапуска XDG должно быть достаточно близко.