Используем 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.
Читаем еще: