Контроль времени работы.

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Amadeus
ст. сержант
Сообщения: 332
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Контроль времени работы.

Непрочитанное сообщение Amadeus » 2009-01-15 15:16:06

Добрый день.

Есть такой интересный вопрос.


Имеется контроллер домена на LDAP. И задача написать скрипт для контроля рабочего времени сотрудников. Т.е так как в организации у каждого есть комп, как вариант прикрутить к домену. Только вот проблема в том что samba пишет лог по ип но не по логину, а ldap без времени. Может кто то уже сталкивался с подобным?
Нет ничего невозможного

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 332
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: Контроль времени работы.

Непрочитанное сообщение Amadeus » 2009-01-15 20:47:50

Усе, допер, необходимо было просто повысить уровень отладки логов машин.

Далее все сводится к написанию простого обработчика логов.
Нет ничего невозможного

Аватара пользователя
Lanix
рядовой
Сообщения: 16
Зарегистрирован: 2009-01-07 5:49:39
Контактная информация:

Re: Контроль времени работы.

Непрочитанное сообщение Lanix » 2009-01-15 21:01:15

Если не ошыбаюсь, то IBM Lotus Notes умеет такое делать.
У нее там очень много мозможностей.

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Контроль времени работы.

Непрочитанное сообщение Dron » 2009-01-15 21:32:13

Ну не ставить же Lotus ради подсчета времени работы :)
Та Да...

Аватара пользователя
Lanix
рядовой
Сообщения: 16
Зарегистрирован: 2009-01-07 5:49:39
Контактная информация:

Re: Контроль времени работы.

Непрочитанное сообщение Lanix » 2009-01-15 22:15:32

Я думаю, ето удобней чем поднимать конроллер домена на LDAP

Аватара пользователя
Dron
ст. сержант
Сообщения: 373
Зарегистрирован: 2007-08-15 13:36:28
Откуда: Днепропетровск
Контактная информация:

Re: Контроль времени работы.

Непрочитанное сообщение Dron » 2009-01-15 23:07:26

ну у топикстартера уже имеется, да и поднимается нормально и потом есть не просит :)
Та Да...

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 332
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: Контроль времени работы.

Непрочитанное сообщение Amadeus » 2009-01-16 19:50:07

Собственно задача оказывается не так страшна как ее малюют:)

Интересуют фактически только две строчки.

Код: Выделить всё

Момент авторизации.
SAM Logon (Interactive). Domain:[Имя домена].  User:[osipov@OSIP] Requested Domain:[Имя домена]


Конец сеанса.
osipov closed file NTUSER.DAT (numopen=1) NT_STATUS_OK
Плюс последующие за ними строчки с указанием времени.
и логи самбы вида namecomp.log, которые данный обработчик должен прочесывать.
Когда закончу выложу тут скрипт. Может кому интересно будет.
Нет ничего невозможного

Аватара пользователя
Amadeus
ст. сержант
Сообщения: 332
Зарегистрирован: 2008-10-05 12:42:44
Откуда: Kiev

Re: Контроль времени работы.

Непрочитанное сообщение Amadeus » 2009-01-21 15:24:22

Ну собственно все.

Начало скрипта, который реализуется обычными командами. выглядит так.

Код: Выделить всё

# Копируем логи самбы в отдельную папку на другом харде что бы снять часть нагрузки с домена при работе.
/bin/cp -r /var/log/samba/* /backup/logs/into

# Вытаскиваем логи самбы вида namecomp.log так как интересуют машины в домене.
/usr/bin/find /backup/logs/into -name "*[a-z]" -print -exec cp {} /backup/logs/name \;

# Отбираем определенные строчки поиска по логам соответствующие шаблону в файле search.txt и создаем чероновой файл с отобраными строками.
/usr/bin/fgrep /backup/logs/name/* -f /backup/logs/search.txt | tee /backup/info.txt

# Выполняем второй отбор уже конкретно из чернового файла вытаскиваем строчку с именем юзера и впереди стояшую строчку с временем авторизации в домене. Данные записываем в файл.
/usr/bin/fgrep /backup/info.txt -f /backup/logs/search2.txt -B 1 | tee /backup/clean.txt

# С помошью утилиты awk вытаскиваем из результатов второго отбора поля с именем юзера в домене и временем и строим на основе данной информации таблицу.

/usr/bin/awk 'BEGIN {print "Name                           Time\n-------------------------------"} {printf "%-30s  %s\n", $6, $2}' /backup/clean.txt | tee /backup/logs/out/otchot.doc
Примерно таким же образом обрабатывается момент выхода из системы.

Остальное уже для каждого по вкусу, можно добавить ротацию логов, запихивание старых очетов в архив и удаление отчетов старше 7 дней.


На выходе получается вот такой вордовский файл.

Код: Выделить всё

Name                           Time
-------------------------------
                                          19:23:08,
User:[marina@BUCH]              SAM
Где показан когда и на какой машине авторизирвоался юзер.


Чем бы админ не тешился лишь бы работал:)
Мания слежения у руководства блин:)
Нет ничего невозможного