Журнал сессии BASH на удаленном хосте


8

Каков наилучший способ записи сеанса оболочки BASH в файл на хост-компьютере?

Предпочтительный формат вывода будет эквивалентен настройке журнала «вывод на печать» в PuTTY, если смотреть на нее пользователем, включая ввод и исключая данные управляющих символов ncurses.


Любопытно узнать, какую оболочку вы используете.
dr.pooter

Ответы:


4

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


корень оказывается ближе к тому, что я хочу, спасибо.
Энди

1
Вы также можете принять во внимание acct / psacct (учет BSD) или snoopy. Они не регистрируют вывод, но они также менее многословны. См: cyberciti.biz/tips/... и sourceforge.net/projects/snoopylogger
Мирча Vutcovici

rootshПриложение теперь осуждается и sudoshкажется не сопровождается. Мы реализовали бумажную оболочку, sudoчтобы sudoее можно было использовать в качестве оболочки для входа в систему для ведения журнала сеанса. Смотрите здесь: github.com/cloudposse/sudosh
Эрик Остерман,

2

Вы можете запустить экран GNU и использовать функцию журнала. Я не знаю ничего, что могло бы дать вам действительно хороший журнал для приложений ncurses, таких как top.

экран человека

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.

Вывод экрана эквивалентен сценарию - обработка ncurses не поддерживается.
Энди


1

scriptПрограмма будет принимать полный журнал вашей оболочки сессии. Не знаю, если это эквивалентно любой штуке PuTTY.


Спасибо, но это не подходит, так как я трачу время на оболочку с открытым верхом, экран которого записывается как: [andy @ 165 ~] $ top ESC [HESC [2JESC (BESC [mtop - 23:34:49 до 19 дней, 17] : 42, 1 пользователь, средняя загрузка: 0,11, 0,07, 0,01ESC (BESC [mESC [39; 49mESC [K
Andy

0

Я не уверен, что именно вы пытаетесь достичь здесь. Это для обучения или судебной экспертизы? Если вам нужно что-то, что дает хорошие читаемые файлы журналов, вам, вероятно, не повезло. Если вы ищете возможность воспроизведения сессий, ttyrec - то, что вам нужно. Вы можете запустить его как часть сценария входа в систему для захвата сеанса пользователя, но убедитесь, что вы используете 'trap', чтобы не дать пользователю выйти из ttyrec и вернуться в оболочку.


Персональный аудит и регистрация в текстовом формате; воспроизведение сессий не требуется.
Энди

2
Скрипт - это то, что вам нужно, хотя, как уже говорилось, он не может хорошо работать с ncurses. Мы используем скрипт для регистрации всех сессий и просто пытаемся увидеть беспорядок, который создаст ncurses.
Goo

Спасибо, Джефф. Похоже, я застрял в сценарии.
Энди

0

Все введенные команды записываются в файл .bash_history, обычно у вас дома. Вы можете установить количество строк, которые сохраняются с помощью параметра HISTFILESIZE.

Однако нет временных отметок и выходных данных.

Если это действительно необходимо, я бы сделал обертку вокруг bash, скопировал бы stdin и stdout в файл и работал бы над этим.


0

Вы можете попробовать использовать http://xgu.ru/wiki/LiLaLo. Сделано в России, поэтому документация также на русском языке, но Google Translate поможет вам. Вот пример вывода: (источник: xgu.ru )альтернативный текст


Перевод немного шаткий. Будет ли это обрабатывать что-то вроде интерактивного топ-процесса.
dr.pooter

Что касается изображения, он не обрабатывает vi, поэтому я думаю, что нет вершины. Но регистрация довольно привлекательна.
TiFFolk
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.