Author Topic: Учёт пользователей запустивших компы.  (Read 10941 times)

0 Members and 1 Guest are viewing this topic.

Offline Konstantine

  • Full Member
  • ***
  • Posts: 184
  • Karma: +1/-7
И так сёдня утром зашёл ко мне в коморку мой начальник и поведал мне такое желание нашего генерального директора

А каприз генерала таков:

Хочется тайным образом без ведома пользователей осуществлять учёт прихода/ухода с работы, а особенно во сколько запустил/выключил юзер компьютер.

НО САМОЕ ГЛАВНОЕ ЧТОБЫ ЮЗЕР НЕ ДОГАДЫВАЛСЯ ОБ ЭТОМ.

Первая моя мысль была такой:

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

У нас канеш такого не осущь. ПОКА , но вот думается мне просто обратиться к манам по ДХЦП и покапаться может быть он регистрирует время когда к нему сетевуха с опред маков обращается за IP.

Пока в раздумьях может у каво такое есть подскажите.
П.С. заранее скажу сервера все под FreeBSD/Linux Open Suse так что решение под масдаем наврятли пойдёт, хотя хз мы же под wine`ом в WoW и Warcraft 3 и т д играемсо... на Suse u ALT linux.
Софт должен быть открытым, а девушки - бесплатными и доступными, желательно под пиво. :D

Offline Safir

  • Sr. Member
  • ****
  • Posts: 402
  • Karma: +0/-0
    • http://
Учёт пользователей запустивших компы.
« Reply #1 on: August 26, 2009, 11:25:35 »
DHCPD кидает в логи в /var/log/messages, но можно перенаправить, для этого надо прописать ключ в команднуб строку при старте сервиса (в федоре есть настроечный файл с переменной которая в команднуб строку подставляется, в других система - не знаю). Этот лог можно парсить скриптом и записывать куда-нибудь время запроса. Проблема в том, что так не получишь время время отключения. Единственное, что приходит в голову - поставить маленькие значения default-lease-time и max-lease-time, тогда время отключения будет устанавливаться с точностью до этих значений. Правда, не знаю, дейтвуют ли эти значения на статичные адреса - у меня (в домашней сети) в /var/lib/dhcpd/dhcpd.leases только динамические адреса.

Плюсы - ничего с пользовательскими машинами делать не надо.
Минус - небольшая точность фиксации отключения машины (хотя, есть предположение, что при отключении она что-то сообщает DHCPD) и возрастание нагрузки на сервер, что может иметь значение, если много машин и слабый сервер.

Вариант №2: мелкая программулька, регистрируемая как сервис, которая при старте и остановке кидает собщение на сервер (не знаю, в какой мастдай останавливает службы и сеть). Или записывать куда-то время останова и сливать его при следующем старте. В качестве серверной части прокатит простейший CGI-скрипт. Возможность использования зависит от уровня квалификации пользователей и того, является ли установка ПО привилегией администраторов, а то могут снести программульку в процессе выведения вирусов как подозрительную. Неплохо будет, если эта штука будет заодно делать что-то полезное пользователю - тогда он будет её беречь и лелеять.

Offline never hood

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +16/-10
  • www.4job.co
    • Работа, которую ты искал
Учёт пользователей запустивших компы.
« Reply #2 on: August 26, 2009, 18:21:21 »
DHCP выдает адреса на определенное время, и если у вас обычный офис и нет необходимости часто перераспределять адреса, то это время может быть, и желательно чтобы было, достаточно большим. Скажем, неделю. Ни к чему частые обращения за адресами.
Это, соответственно, ставит крест на теме DHCP. Да и не для того оно создавалось!
Читаем маны про SNMP, ставим штатных агентов на любую ось и мониторим все, что нужно.

Offline rPman

  • Full Member
  • ***
  • Posts: 109
  • Karma: +0/-0
Учёт пользователей запустивших компы.
« Reply #3 on: August 26, 2009, 23:29:40 »
эээ, учет включения/выключения компьютеров, проблема? ping на сервере всех компьютеров пользователей ежедесятиминутно.

P.S. тогда уж более комплексно вести учет, логер деятельности на компьютеры (запускаемые программы, нажимаемые кнопки и использование мышки)... или еще круче, пару тройку видеокамер  или детектор движения на стол каждому

Offline DrDeath

  • Full Member
  • ***
  • Posts: 124
  • Karma: +1/-0
    • http://
Учёт пользователей запустивших компы.
« Reply #4 on: August 27, 2009, 00:04:45 »
оффтопик конечно, но IMHO, данные действия неэтичны, если пользователи не ознакомлены с фактом наблюдения. последствий бы не было.
имеется ввиду логер действий.

далее, для контроля включения/выключения компа, в стартовые и завершающие скрипты можно дописать "функцию", которая будет складывать инфу на сетевую шару.
« Last Edit: August 27, 2009, 00:14:05 by DrDeath »

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Учёт пользователей запустивших компы.
« Reply #5 on: August 27, 2009, 12:37:37 »
Зачем для такой простой задачи ставить (а тем более писать своё) что-то на компы пользователей, я не понимаю? Мониторить по SNMP порты свитчей, к которым подключены юзеры, и всего делов. Если вдруг свичи сильно тупые - ежеминутный ping -c 1 и мониторинг валидных записей в ARP-таблице (на случай, если у юезров файрволы режут пинги). Всё.

Вот только и обходится любой из перечисленных в теме вариантов элементарно - что вы будете делать с пользователем, который не выключает комп на ночь? =)
« Last Edit: August 27, 2009, 12:39:58 by nuclight »
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Konstantine

  • Full Member
  • ***
  • Posts: 184
  • Karma: +1/-7
Учёт пользователей запустивших компы.
« Reply #6 on: August 27, 2009, 12:55:34 »
Quote from: nuclight
Вот только и обходится любой из перечисленных в теме вариантов элементарно - что вы будете делать с пользователем, который не выключает комп на ночь? =)


Во во напарник это ПЕРВЫМ делом сказал, а у нас такие "трудоголики" есть.
Софт должен быть открытым, а девушки - бесплатными и доступными, желательно под пиво. :D

Offline Safir

  • Sr. Member
  • ****
  • Posts: 402
  • Karma: +0/-0
    • http://
Учёт пользователей запустивших компы.
« Reply #7 on: August 27, 2009, 13:16:11 »
Quote from: Konstantine
Во во напарник это ПЕРВЫМ делом сказал, а у нас такие "трудоголики" есть.
Знаю такой прикол, реально использовался: начальство отслеживало появление по внутриофисному чату. Если опаздываешь, достаточно было позвонить и попросить кого-нибудь, чтобы комп включили. Думаю, фишка именно в том, чтобы об отслеживании было неизвестно. Правда, идея накрывается после первого предъявления доказательств отсутствия на рабочем месте.

Единственный вариант - отслеживать по времени доступа к внутренним ресурсам, требующим авторизации, чтобы пароль был не общеизвестным и чтобы сообщать его было невыгодно. Другого вариант нет, только отслеживание по видео. Датчик движения тоже не прокатывает - одного товарища, сильно задержавшегося на работе в закрытом офисе, поставили на сигнализацию и охрана обнаружила его там, наврное, только через час. А он работал - аврал какой-то было.

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
Учёт пользователей запустивших компы.
« Reply #8 on: August 27, 2009, 16:31:21 »
Как сделано у меня на одной подработке. Но там Винда. Но это же очень легко осуществить в никсах.
При загрузке компа при входе пользователя отрабатывается скрипт который пишет на сервер в административную шару в свой файлик время включения. При выходе делает то же самое но в другой файлик. Типа папка power_logs$, там файлы вида имя_компа_on.txt и имя_компа_off.txt В них дата и время. Проблема с включенным компом на ночь решается очень просто, все компы начинают самостоятельно выключаться после 20:00 (сервер подает им команду выключиться shutdown.exe). (+ к безопасности + к экономии на электричестве)
MCP

Offline SinClaus

  • Sr. Member
  • ****
  • Posts: 453
  • Karma: +6/-2
Учёт пользователей запустивших компы.
« Reply #9 on: August 28, 2009, 09:41:26 »
Гораздо дешевле поставить доску с переворачивающимися номерками. И человека, который будет поглядывать, что бы кто попало номерки не переворачивал (или ОДНА камера, смотрящая на эту доску).
У меня например комп выключается только на отпуск и Новый год, остальное время следит за серверами, гейтами и т.д., а так же обеспечивает мне домашний интернет
Самый страшный вирус называется юзер.

Offline rPman

  • Full Member
  • ***
  • Posts: 109
  • Karma: +0/-0
Учёт пользователей запустивших компы.
« Reply #10 on: August 28, 2009, 22:25:44 »
Требование:
>> Хочется тайным образом без ведома пользователей осуществлять учёт прихода/ухода с работы, а особенно во сколько запустил/выключил юзер компьютер.
обламывает 'доску с номерками', т.е. пользователь не должен ничего делать, что сказало бы ему об однозначной слежке (догадываться может сколько угодно, лишь бы бездоказательно)

Получается только дистанционные методы (пинги, логеры, вебкамеры)
P.S. ... или система 'заданий', постоянно раздаваемая работникам, требующая одновременно-последовательного участия большинства, и исключающая (минимизирующая) подмену исполнителя. Парадоксально, не правда ли? чтобы работники не отлынивали от работы, нужно дать им эту работу

Offline never hood

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +16/-10
  • www.4job.co
    • Работа, которую ты искал
Учёт пользователей запустивших компы.
« Reply #11 on: August 31, 2009, 18:50:47 »
внутрений джаббер с роботом, задающим некий вопрос, требующий ответа с неким интервалом.
лучше всего, чтобы вопросы были списком дел, где нужно проставить процент их выполнения. обоюдная польза.

Offline Konstantine

  • Full Member
  • ***
  • Posts: 184
  • Karma: +1/-7
Учёт пользователей запустивших компы.
« Reply #12 on: September 10, 2009, 14:20:37 »
Quote from: Diver
Как сделано у меня на одной подработке. Но там Винда. Но это же очень легко осуществить в никсах.
При загрузке компа при входе пользователя отрабатывается скрипт который пишет на сервер в административную шару в свой файлик время включения. При выходе делает то же самое но в другой файлик. Типа папка power_logs$, там файлы вида имя_компа_on.txt и имя_компа_off.txt В них дата и время. Проблема с включенным компом на ночь решается очень просто, все компы начинают самостоятельно выключаться после 20:00 (сервер подает им команду выключиться shutdown.exe). (+ к безопасности + к экономии на электричестве)

это самое лучшее из всего здесь написанного.

П.С. (Уже горю поскорей закрыть сессию и притворить ваш метод в Жизнь)
Софт должен быть открытым, а девушки - бесплатными и доступными, желательно под пиво. :D

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Учёт пользователей запустивших компы.
« Reply #13 on: September 11, 2009, 22:07:02 »
Quote from: Konstantine
это самое лучшее из всего здесь написанного.

П.С. (Уже горю поскорей закрыть сессию и притворить ваш метод в Жизнь)

Я б так не сказал, ибо этот вариант требует больше усилий, и оставляет юзеру лазейку подправить фалйы ручками, если он о них узнает.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Safir

  • Sr. Member
  • ****
  • Posts: 402
  • Karma: +0/-0
    • http://
Учёт пользователей запустивших компы.
« Reply #14 on: September 11, 2009, 22:43:13 »
Проблема решается просто: надо чтобы на сервере робот отслеживал состояние директории и удалял файл сразу после создания, переписывая его содержимое куда-нибудь. Или даже забить на содержимое - вся информация может содержаться в его имени: 'start' - работник пришёл, 'stop' - закончил работу. Имя пользователя известно, время создания - тоже. Сразу после создания файл уничтожается. Отследить факт манипуляций очень сложно (файл живёт меньше секунды), если не лезть в дебри системы.
« Last Edit: September 12, 2009, 10:29:42 by Unit »

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
Учёт пользователей запустивших компы.
« Reply #15 on: September 12, 2009, 12:48:30 »
Quote from: nuclight
Я б так не сказал, ибо этот вариант требует больше усилий, и оставляет юзеру лазейку подправить фалйы ручками, если он о них узнает.
ну во первых шара административная ($) - т.е. её просто так не видно. Ну и можно убрать права пользователям на папку. А скрипт вызывать из GPO компьютера.
MCP

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Учёт пользователей запустивших компы.
« Reply #16 on: September 14, 2009, 16:17:49 »
Ну да, вот я и говорю, требует больше усилий, проверять нахождение компьютера в сети проще.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
Учёт пользователей запустивших компы.
« Reply #17 on: September 15, 2009, 13:47:33 »
Quote from: nuclight
Ну да, вот я и говорю, требует больше усилий, проверять нахождение компьютера в сети проще.
Опишите как вы это видите (команды, настройки).
MCP

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Учёт пользователей запустивших компы.
« Reply #18 on: September 15, 2009, 17:51:53 »
Quote from: Diver
Опишите как вы это видите (команды, настройки).

Это нетестированный набросок, который писался прямо в окне форума. Для идеи достаточно, я думаю.

Code: [Select]
$ cat crontab
* * * * * /path/check_comps.sh

$cat /path/check_comps.sh
SUBNET=192.168.10

for i in `jot 255 1`; do ping -c 1 -w 1000 $SUBNET.$i & done  # `seq 1 255` for Linux
sleep 2
mv arp.txt arp-prev.txt
arp -an | grep $SUBNET | grep -v incomplete | sed  -E 's/^.*\(([0-9.]*)\).*/\1/' > arp.txt
diff -u arp-prev.txt arp.txt sed '1,2d' | egrep '^[+-]'> diff.txt
awk "
/^+/ {print \"Компьютер $1 включился в `date`\"}
/^-/ {print \"Компьютер $1 выключился в `date`\"}
" diff.txt >> log.txt
rm diff.txt
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Diver

  • Hero Member
  • *****
  • Posts: 790
  • Karma: +2/-0
Учёт пользователей запустивших компы.
« Reply #19 on: September 16, 2009, 09:01:30 »
Круто! А как быть с ситуацией что пришел человек и за сотрудников включил их компы по доброте душевной? Простыми пингами тут не обойтись. Да и возможно файрволы придется на машинах отрубать (если ICMP режется). Так что не факт где гемороя больше. Да и мое решение для MS, а просили для *nix. Ваше больше подходит, но всё же надо дорабатывать.
MCP