Отслеживание активности пользователя linux

Логирование пользовательской активности в Linux

Часто возникает необходимость мониторить что происходит на удаленном сервере, часто приходится ставить key logger\activity logger для отслеживания действий пользователей. После выборки фриварного ПО не было найдено почти ничего интересного, много ограничений, много не стабильных реализаций.
Наткнулся на интересный проект Snoopy Logger

Установка данного продукта происходит обычно без особых трудностей

wget downloads.sourceforge.net/project/snoopylogger/snoopy-1.8.0.tar.gz
(данный пакет можно найти в репозиториях некоторых дистрибутивов, например убунты)
tar -zxf snoopy-1.8.0.tar.gz
cd snoopy-1.8.0/
./configure —help (посмотреть опции)
например
—with-syslog-facility=FACILITY
—with-syslog-level=LEVEL

можно задать логирование только root
для этого нужно перед /configure отредактировать файл snoopy.h
было
#define SNOOPY_ROOT_ONLY 0
стало
#define SNOOPY_ROOT_ONLY 1

./configure
make
make install

install -m 755 -d /usr/local/lib
install -m 755 snoopy.so /usr/local/lib/snoopy.so

Snoopy shared library installed in /usr/local/lib.
Run ‘make enable’ to actually enable snoopy logging.

make enable
./enable.sh /usr/local/lib
Snoopy enabled in /etc/ld.so.preload. Check syslog messages for output.

/etc/init.d/syslog restart (или rsyslog)

вывод в логи можно искать по след файлам

/var/log/auth*
/var/log/messages
/var/log/secure

Если не хочется парсить кашу из системных логов и Snoopy, можно сделать так:

touch /var/log/snoopy.log
vim /etc/syslog.conf (если стоит обычный syslog)

Добавляем в конфиг
!snoopy
*.* /var/log/snoopy.log

По такому же принципу можно убрать из системных логов мусор от снупи.

Логи выглядят следующим образом
Apr 6 06:46:26 asterisk snoopy[12664]: [uid:0 sid:12595 tty:/dev/pts/2 cwd:/home/develop filename:/usr/bin/nano]: nano /etc/asterisk/extensions.conf
Apr 6 07:56:19 asterisk snoopy[13267]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/sbin/ifconfig]: ifconfig
Apr 6 07:56:26 asterisk snoopy[13268]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/bin/touch]: touch /opt/1.txt
Apr 6 07:57:56 asterisk sudo: felvis : TTY=pts/3 ; PWD=/home/felvis ; USER=root ; COMMAND=/sbin/ifconfig eth0
Apr 6 07:57:56 asterisk snoopy[13277]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/home/felvis filename:/sbin/ifconfig]: /sbin/ifconfig eth0

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

Для того чтобы удалить потом Snoopy, достаточно очистить файл /etc/ld.so.preload содержащий ссылку на .so и удалить сам файл /usr/local/lib/snoopy.so

зыЖ В этой мини статье я не рассматривал этическую сторону использования данного рода программ, оставив это на усмотрение читателей.

Источник

Мониторинг активности пользователей Linux с помощью инструментов psacct или acct

psacct или acct — это утилиты с открытым исходным кодом для мониторинга действий пользователей в системе Linux. Эти утилиты работают в фоновом режиме и отслеживают активность каждого пользователя в вашей системе, а также то, какие ресурсы потребляются.

Я лично использовал эти инструменты в нашей компании, у нас есть команда разработчиков, где наши разработчики постоянно работают над серверами. Итак, это лучшие утилиты, чтобы следить за ними.

Читайте также:  Linux image to framebuffer

Эти программы обеспечивают отличный способ отслеживать, что делают пользователи, какие команды они выполняют, сколько ресурсов они потребляют и как долго пользователи активны в системе. Еще одна полезная функция заключается в том, что она показывает общее количество ресурсов, потребляемых такими службами, как Apache, MySQL, FTP, SSH и т. д.

[Вам также может понравиться: Как отслеживать команды Linux, выполняемые системными пользователями в режиме реального времени]

Я думаю, что это одна из замечательных и наиболее необходимых утилит для каждого системного администратора Linux/Unix, который хотел отслеживать действия пользователей на своих серверах/системах.

Пакет psacct или acct предоставляет несколько функций для мониторинга активности процессов.

    Команда
  • ac выводит статистику входов/выходов пользователей (время подключения) в часах. Команда
  • lastcomm выводит информацию о ранее выполненных командах пользователя. Команды
  • accton используются для включения/выключения процесса учета. Команда
  • sa обобщает информацию о ранее выполненных командах. Команды
  • last и lastb показывают список последних вошедших в систему пользователей.

Установка пакетов psacct или acct в Linux

psacct и acct — похожие пакеты, и между ними нет большой разницы, но пакет psacct доступен только для дистрибутивов на основе rpm, таких как как RHEL, CentOS и Fedora, тогда как пакет acct доступен для таких дистрибутивов, как Ubuntu

Все права защищены. © Linux-Console.net • 2019-2023

Источник

UNIXHOME.ORG.UA

Software → Мониторинг активности пользователей в системе с acct

Утилита acct или psacct отличный инструмент для мониторинга пользователей и приложений которые работают или работали в системе. Программа тихонько работает в режиме background и собирает в логи информацию. Сам пакет состоит из нескольких утилит которые будут описаны ниже в статье. Программа будет интересна и системным администраторам и владельцам компьютеров, на которых содержится множество рабочих учетных записей. Так же программа позволяет отслеживать количество ресурсов потребляемых тем или иным приложением. Честно говоря не знаю, так уж много от нее пользы, однако возможно вам она окажется полезной.

Установка и настройка acct

Пакет acct содержится по умолчанию в репозитариях Ubuntu и Fedora, по этому установка программы предельно проста:
Для Ubuntu:

Далее в статье речь будет идти об использовании утилиты в системе Ubuntu.
Запуск программы банален:

Так уж получилось, что в Ubuntu программа собрана с маленьким «багом», она ищет свой конфиг немного не в том месте, вот тут /var/account/pacct, это легко исправить найдя сам конфиг в Ubuntu, он вот тут /var/log/account/pacct, исправляем с помощью символьной ссылки:

sudo ln -s log/account /var/account

Теперь все утилиты из пакета acct будут работать корректно.

Пакет acct

  • ac – печатает статистику о времени которое пользователи провели находясь в системе
  • sa – собирает информацию о выполненных командах и запущенных приложениях, пользователей и т.д.
  • lastcomm – смотреть последние выполненные команды
  • accton – включить\выключить сбор инфы
ac -d Dec 1 total 15.69 Dec 2 total 18.26 Dec 3 total 46.16 Dec 4 total 30.51 Dec 5 total 52.59 Dec 6 total 42.48 Dec 7 total 27.20 Dec 8 total 75.88 Dec 9 total 54.27 Dec 10 total 86.13

Вывод для каждого пользователя в системе:

ac -p booch 622.88 root 0.00 total 622.89

lastcomm интересна тем, что вы можете посмотреть, каким было последнее действие пользователя, т.е. что он запустил, какую программу использовал и т.д.
Посмотреть последние действия определенного пользователя можно так:

lastcomm root smbd SF root __ 0.00 secs Fri Dec 17 17:36 smbd SF root __ 0.00 secs Fri Dec 17 17:36 smbd SF root __ 0.00 secs Fri Dec 17 17:36 cron SF root __ 0.00 secs Fri Dec 17 17:35 sh S root __ 0.00 secs Fri Dec 17 17:35

Еще одна интересная функция, посмотреть кто и когда пользовался той или иной программой:

lastcomm ssh ssh booch pts/1 0.00 secs Fri Dec 17 16:59 ssh F booch pts/1 0.00 secs Fri Dec 17 16:59 ssh F booch pts/1 0.00 secs Fri Dec 17 16:59

Просмотреть список всех программ которые так или иначе использовались в системе от запуска acct:

lastcomm > fileP nano fileP

Программа показывает какие юзеры были и чё они делали, а так же, сколько ресурсов (процессорного времени и памяти) отхавали программы, которые были ими запущенны:

sa -u root 0.00 cpu 422k mem 0 io accton root 0.00 cpu 474k mem 0 io acct root 0.00 cpu 474k mem 0 io invoke-rc.d root 0.00 cpu 474k mem 0 io acct.postinst root 0.20 cpu 3186k mem 0 io dpkg root 0.00 cpu 1298k mem 0 io touch root 0.00 cpu 474k mem 0 io sh root 0.00 cpu 7514k mem 0 io apt-get * root 0.59 cpu 2766k mem 0 io apt-get booch 0.02 cpu 1434k mem 0 io ps booch 0.00 cpu 1295k mem 0 io grep booch 0.02 cpu 1434k mem 0 io ps booch 0.00 cpu 1295k mem 0 io grep root 0.00 cpu 0k mem 0 io accton root 0.00 cpu 422k mem 0 io accton

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

sa -m 1566 1555.12re 4.10cp 0avio 2337k booch 1171 521.24re 3.73cp 0avio 2747k root 388 870.34re 0.35cp 0avio 1115k usbmux 1 162.52re 0.02cp 0avio 590k sshd 6 1.01re 0.00cp 0avio 1744k

Показывает все программы которые были запущенны на вашей машине:

sa -a 1591 1585.82re 4.19cp 0avio 2352k 44 355.26re 3.64cp 0avio 40183k chrome* 4 2.74re 0.22cp 0avio 1408k find 4 0.13re 0.08cp 0avio 7418k aptitude 8 1.81re 0.05cp 0avio 1662k nano 8 0.04re 0.04cp 0avio 4586k python 2 162.52re 0.02cp 0avio 534k usbmuxd* 2 0.62re 0.02cp 0avio 2766k apt-get 43 0.03re 0.02cp 0avio 1115k troff 43 15.48re 0.02cp 0avio 1436k man 4 0.49re 0.02cp 0avio 16372k gnome-screensav 1 162.08re 0.01cp 0avio 7400k gvfsd-afc 48 0.02re 0.01cp 0avio 482k chrome-san

Печатает в порядке сортировки (от большего к меньшему значению) программы которые использовали ваше процессорное время, и больше других загружали систему, а так же время использования последних в процентах:

sa -c 1615 100.00% 1586.64re 100.00% 4.19cp 100.00% 0avio 2357k 44 2.72% 355.26re 22.39% 3.64cp 86.80% 0avio 40183k chrome* 4 0.25% 2.74re 0.17% 0.22cp 5.31% 0avio 1408k find 4 0.25% 0.13re 0.01% 0.08cp 1.99% 0avio 7418k aptitude 8 0.50% 1.81re 0.11% 0.05cp 1.07% 0avio 1662k nano 8 0.50% 0.04re 0.00% 0.04cp 0.88% 0avio 4586k python 2 0.12% 162.52re 10.24% 0.02cp 0.52% 0avio 534k usbmuxd* 44 2.72% 0.03re 0.00% 0.02cp 0.47% 0avio 1115k troff

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

Читайте также:  Linux image to framebuffer

Стандартные средства Linux

  • who – кто в системе
  • w – кто в системе и что они делают
  • users – показывает всех юзеров которое залогинены в системе
  • last – последние успешные логины в систему
  • uptime – время работы хоста
who -a cистемная загрузка 2010-12-17 15:01 уровень выполнения 2 2010-12-17 15:01 ВХОД tty4 2010-12-17 15:01 1249 tty5 2010-12-17 15:01 1253 tty2 2010-12-17 15:01 1260 tty3 2010-12-17 15:01 1261 tty6 2010-12-17 15:01 1264 tty1 2010-12-17 15:01 1444 + tty7 2010-12-17 15:02 да 1620 (:0) pts/1 2010-12-17 18:51 0 терминал=0 выход=0 booch + pts/2 2010-12-17 15:29 00:02 2549 (:0.0) booch + pts/3 2010-12-17 18:51 . 2549 (:0.0)

Показывает всех пользователей:

who -u booch tty7 2010-12-17 15:02 да 1620 (:0) booch pts/2 2010-12-17 15:29 00:03 2549 (:0.0)

Количество юзеров в системе:

who -q booch booch booch число пользователей=3

Скромные данные от утилиты w:

w 18:54:45 up 3:52, 3 users, load average: 0,46, 0,74, 0,77 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT booch tty7 :0 15:02 3:52m 14:58 0.36s gnome-session booch pts/2 :0.0 15:29 3:42 0.15s 38.69s gnome-terminal booch pts/3 :0.0 18:51 0.00s 0.04s 0.01s w

Пример вывода утилиты last

last booch booch pts/3 :0.0 Fri Dec 17 18:51 still logged in booch pts/2 :0.0 Fri Dec 17 15:29 still logged in booch pts/2 :0.0 Fri Dec 17 15:09 - 15:09 (00:00) booch pts/1 :0.0 Fri Dec 17 15:08 - 18:51 (03:42) booch tty7 :0 Fri Dec 17 15:02 still logged in booch tty1 Fri Dec 17 14:58 - down (00:02) booch tty1 Fri Dec 17 14:58 - 14:58 (00:00)

Источник

Оцените статью
Adblock
detector