Могу ли я войти в VI активность?

10

Есть ли способ зарегистрировать действия vi? Я подозреваю, что другой пользователь выдает команды, заходя в оболочку внутри редактора vi, по-видимому, эти команды не записываются в историю.

vnix27
источник

Ответы:

6

Вы также можете включить процесс учета (s / может / должен /!)

Затем вы можете использовать:

lastcomm(1)

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

В сочетании с IDS на основе хоста это должно дать вам то, что вам нужно, «чтобы правосудие короля могло быть исполнено над ним».

chiggsy
источник
+1 за хороший момент о бухгалтерии.
Фил Холленбек
7

Как вы регистрируете их деятельность прямо сейчас? Самый простой способ - заблокировать запуск оболочек из vi.

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

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

Стивен
источник
+1 за хороший простой способ ограничить доступ vi.
Фил Холленбек
2
но это выглядит легко обойти: "vim -u / dev / null".
Jlliagre
Да, это по сути неразрешимая проблема. В тот момент, когда кто-то получает доступ к вашей системе через логин, он может подорвать машину. Лучшее, что вы можете сделать, это сделать это действительно сложно.
Фил Холленбек
4

Вы говорите об истории раковины? vi shell mode ( :sh) запускает оболочку пользователя по умолчанию. Если это bash, то вы можете убедиться, что ведение журнала истории всегда включено, отредактировав глобальный файл / etc / bashrc и добавив:

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

это гарантирует, что каждая пользовательская команда регистрируется в файле, она не перезаписывается и обновляется каждый раз, когда появляется приглашение оболочки.

Обратите внимание, что пользователи могут переопределить это в своих личных, ~/.bashrcтак что это не является абсолютной гарантией того, что регистрация будет происходить.

Некоторые версии vi (например, nvi) поддерживают безопасный режим, который отключает доступ к оболочке, запуская vi как nvi -S. Вы также можете установить глобальный псевдоним, /etc/bashrcчтобы включить этот режим по умолчанию.

Обратите внимание, что в целом проблема пользователей, попадающих в оболочку неожиданными способами, является классической проблемой Unix. Нет никакого способа полностью отключить это, лучшее, что вы можете сделать, это попытаться ограничить доступ по умолчанию. Опытный пользователь (или даже пользователь, который знает, как использовать Google) всегда может обойти эти ограничения. Например, если пользователь не хочет регистрировать свою историю оболочки, он всегда может просто выполнить новую копию оболочки с любыми параметрами, которые он хочет использовать.

Вот отличная статья о том, как принудительно войти в bash, и о способах обхода регистрации.

Наконец, вы подумали просто поговорить с пользователем, чтобы определить, что он делает? Простое словесное общение в 99% случаев может устранить любую путаницу. Если вы регистрируете действия этого пользователя, потому что не доверяете ему, возможно, вы можете поговорить с ним о своих проблемах.

Фил Холленбек
источник