Назад | Перейти на главную страницу

Измерение того, сколько времени занимает процесс входа в систему в linux

Иногда процесс входа в систему для пользователей занимает много времени, поскольку во время входа в систему выполняется много вещей, например, автоматическое монтирование домашнего каталога.

Мы хотим измерить, сколько времени требуется для входа в систему каждого пользователя. Мы хотим измерить время между вводом пользователем имени пользователя и пароля и получением командной строки или рабочего стола. Все рабочие станции - это Linux Centos, и вход в систему может осуществляться через консоль или ssh.

Я поискал в Интернете, но не нашел ничего ценного.

Буду признателен за любой намек или помощь.

Спасибо.

Вы не сказали, в какой тип сеанса входят пользователи.

Аутентификация и последующее взаимодействие происходят в отдельных процессах. Таким образом, вам нужно будет захватить временные метки этих двух событий и сравнить их, чтобы получить истекшее время. Они будут происходить под разными uid, поэтому, вероятно, проще использовать syslog для хранения временных меток.

Аутентификация в системе Linux для ssh, консольного tty и системы XWindow обрабатывается PAM (наряду с другими аутентификациями), поэтому я бы написал собственный Модуль аутентификации PAM чтобы зафиксировать эту метку времени. Обратите внимание, что это должно быть настроено как "обязательный".

Для входа в оболочку интерактивное время может быть зафиксировано в соответствующей точке в .profile.

Для входа в XWindow это немного сложнее. Обычно существует цепочка начальных загрузок, последняя из которых относится к среде рабочего стола, но последняя запись в Список автозапуска XDG должно быть достаточно близко.