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

    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 за подсказку с exec
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 13

    • НЛО прилетело и опубликовало эту надпись здесь
        +2
        огромное спасибо, изменил, все работает.
        0
        я просто смотрю .bash_history нового админа, ну и главное — результаты выполнения поставленных ему задач.
          +3
          ну тут другой момент, .bash_history показывает просто список команд, а мне было интересно посмотреть на действия пользователя в режиме реального времени, как он пользуется табуляцией, копипастит все команды или что-то знает, опечатки и т.д.
          был интерес именно составить некий портрет, по .bash_history можно увидеть только конечный вариант
            0
            А чем вас не устроил screen?
              +3
              не всегда есть возмжность сидеть и смотреть в screen, да и разбор полетов по screen не сделать…
              0
              Слишком въедливо, на мой взгляд. Оценить эти моменты можно за пять минут наблюдений за работой. А дальше уже важнее результат, а не процесс.
          • НЛО прилетело и опубликовало эту надпись здесь
              +1
              спасибо, поковыряю =)
                +1
                Нужно ещё видеокамеры в сортирных кабинках поставить. Проанализировать, кто как подтирается, устроить разбор полётов.
                  +2
                  а что у вас еще не стоит ?;)
                  • НЛО прилетело и опубликовало эту надпись здесь
                  +3
                  Скрипт полезен не только для того чтобы пасти за кем-то, но и для обучения сотрудников.
                  Не только администраторы используют удаленный доступ, но и «более простые» пользователи. Так вот если зайдет спор «работает/не работает» можно почитать что юзер делал и ткнуть носом в то что он криворукий и объяснить как делать правильно.

                  Очень полезный скриптик!

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

                  Самое читаемое