Мы запускаем samba в качестве основного контроллера домена, используя ldap для настроек учетной записи пользователя. Как сказано в заголовке, я ищу простой способ узнать время последнего входа в систему для каждого из этих пользователей домена.
я мог сгенерируйте сценарий для поиска всех имен пользователей из pam или ldap и grep файлов журнала samba, что может быть подвержено ошибкам. Я предполагаю, что уже есть предполагаемый способ сделать это.
Итак, как получить время последнего входа в систему для каждого пользователя на любой / всех машинах с Windows?
Я давно не использовал samba + LDAP, но помню, что в схеме были атрибуты sambaLogonTime и sambaLogoffTime.
В samba-ldap howto упоминает эти атрибуты
Однако я не уверен, заполняются ли они автоматически. Эта ссылка предполагает, что это не так, хотя сейчас это довольно давно. Мне не нужно было использовать эти атрибуты, поэтому я особо не обращал на них внимания
Быстрое и грязное решение - "объединить" файлы журнала машины и grep для входа в систему.
cat /var/log/samba/log.* |grep -A 1 make_connection_snum > logons.txt
Таким образом, вы получаете записи для доступа к их домашнему каталогу при входе в систему. Сортировка по времени и пользователю кажется задачей для простого Perl-скрипта.