Адекватны ли пользователи вашей системы?

Опубликовано admin в Пнд, 09/08/2010 - 17:13
image
Наверняка многие использовали для записи сессий командной строки программу script.
А кто-нибудь задавался вопросом, а можно ли использовать её в рамках повышения безопасности/мониторинга/проверки адекватности пользователей системы?
Любопытства ради решил прикрутить script ко всем пользователям системы и посмотреть, что из этого выйдет…

#!/bin/sh
if [ "$TERM" != "" ]; then
  DATE=`date +%F.%H.%M`
  FOLDER="/tmp/"
  exec script -q -t $FOLDER$USER.$DATE 2> $FOLDER$USER.$DATE.time
else
  /bin/sh $*
fi


Добавляем такой скрипт в /etc/profile (в gentoo сохранил это в файл bash.sh и поместил его в директорию /etc/profile.d/).

Можно проверять работоспособность, заходя по SSH или любым другим способом.

В /tmp должны появиться файлы вида test.2010-03-25.20.01 и test.2010-03-25.20.01.time.
Файл c .time содержит в себе всю информацию по таймингу сессии.

Если файлы создались, дабы проверить плоды, запускаем:
scriptreplay test.2010-03-25.20.01.time test.2010-03-25.20.01

и наслаждаемся просмотром.

Хочу сразу сказать недоработки:
1 Если подключаться ssh user@host /bin/bash -i — то ничего не логируется =(

Основной интерес к этому способу появился от желания последить за работой новых админов, посмотреть их способы (не стоять же за спиной у бедняги).

Так же можно создать отдельный каталог вместо /tmp, например /opt/sessions и задать права:
chmod 733 /opt/sessions

Дабы все сессии могли писать, но юзеры не могли сделать листинг этой дирекории.

UPD: спасибо unera (_http://unera.habrahabr.ru/) за подсказку с exec

Статья взята с http://habrahabr.ru (_http://habrahabr.ru/blogs/sysadm/88940/)

( categories: )