Архив

Архив 8 Июль 2013

Используем screen для мониторинга сессии удаленного подключения.

Используем screen для мониторинга сессии удаленного подключения.

Для этого используем консольный оконный менеджер в Linux — SCREEN
Устанавливаем программу screen и пишем вот такой скрипт:

#!/bin/sh
already_up=`pgrep screen`
if [ -z "$already_up" ]
then
screen -L -S Shared /bin/bash -l
else
screen -x Shared
fi



Скрипт при запуске проверяет, есть ли уже запущенный screen. Если нет, то запускает новую сессию «Shared», если screen уже запущен, присоединяется к сессии «Shared».

Удаленному работнику этот скрипт будет шеллом. Сохраняем скрипт в /usr/local/bin/get_in.sh и делаем его исполняемым.

Теперь добавим аккаунт для удаленного работника и изменим его шелл по-умолчанию на get_in.sh. В /etc/passwd должна появиться вот такая например запись:

tech:x:503:503::/home/tech:/usr/local/bin/get_in.sh

Последний штрих.
В /home/tech/.screenrc добавляем строчку:

logfile /tmp/screenlog-%Y%m%d-%c:%s

Благодаря ей screen будет записывать в лог все, что будет происходить в консоли.

Чего же мы, на самом деле, добились:

  • Контроль/мониторинг в реальном времени всего, что происходит в удаленном терминале техника
  • Логгирование команд и их вывода
  • Нет необходимости раскрывать пароль суперпользователя

Заметка взята с habrahabr.

Читаем еще:

#

//