Постоянная история команд?

Использовать nologin в качестве оболочки по умолчанию:

useradd --shell /usr/sbin/nologin [...]

* Этот путь относится к пакетам на основе rpm, не уверен, что у debian такой же .

3
10.03.2019, 15:22
2 ответа

Предположим, что вы используете bash, наиболее распространенную оболочку

history

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

HISTSIZE=1000
HISTTIMEFORMAT="%Y/%m/%d %T "

В ваш файл.bashrc. Тогда вы можете

history | grep " 2019/0[1-3]"

Обратите внимание, что bash хранит историю только для выбранных команд в интерактивных сеансах. Если вы хотите отслеживать все, рекомендуется использовать специальную оболочку оболочки, удаленное ведение журнала и управление версиями всей системы.

-2
27.01.2020, 21:48

Чтобы выполнить каждую команду, я бы не стал рассчитывать на историю bash по нескольким причинам. Вы можете отправлять такие команды службе/демону системного журнала.

Раньше у меня были журналы команд за более чем 1 год, выполненные на более чем 200 серверах Debian на защищенном центральном сервере системных журналов.

Я использовал простой «хак» добавления в /etc/bash.bashrcдля всех пользователей или. профиль bash _только для вашего пользователя следующая строка:

readonly PROMPT_COMMAND='history -a >(logger -t "cmdline $USER[$PWD] $SSH_TTY $SSH_CONNECTION")'

см. похожие Добавить BASHPID в историю?

-1
27.01.2020, 21:48

Теги

Похожие вопросы