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

8

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

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

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

Ответы:

4

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

gharper
источник
корень оказывается ближе к тому, что я хочу, спасибо.
Энди
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.
Zoredache
источник
Вывод экрана эквивалентен сценарию - обработка ncurses не поддерживается.
Энди
2

TTYrec, вероятно, самое простое решение. Вы можете использовать оригинал:

http://0xcc.net/ttyrec/index.html.en

Или сверните свое собственное:

http://en.wikipedia.org/wiki/Ttyrec

Или вы можете получить всю старую школу и | все ваши команды, чтобы tee command.timestamp.tee

dr.pooter
источник
1

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

romble
источник
Спасибо, но это не подходит, так как я трачу время на оболочку с открытым верхом, экран которого записывается как: [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 в файл и работал бы над этим.

slovon
источник
0

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

TiFFolk
источник
Перевод немного шаткий. Будет ли это обрабатывать что-то вроде интерактивного топ-процесса.
dr.pooter
Что касается изображения, он не обрабатывает vi, поэтому я думаю, что нет вершины. Но регистрация довольно привлекательна.
TiFFolk