Чи можу я зареєструватись активність vi?


10

Чи існує який-небудь метод для реєстрації vi-активності? Я підозрюю, що інший користувач видає команди, заходячи в оболонку всередині редактора vi, мабуть, ця команда не записується в історію.

Відповіді:


6

Ви також можете увімкнути облік процесів (s / can / should /!)

Потім ви можете використовувати:

lastcomm(1)

щоб побачити, як виконується команда, і якщо вони виконувалися після вилки, з виконанням або без нього.

У поєднанні з IDS на базі хостів це повинно дати вам те, що вам потрібно, "щоб справедливість короля була здійснена над ним".


+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, ви можете переконатися, що журнал історії завжди увімкнено шляхом редагування global / etc / bashrc та додавання:

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

Це забезпечить, що кожна команда користувача буде зареєстрована у файл, вона не буде перезаписана, і вона оновлюється щоразу, коли з'являється запит оболонки.

Зауважте, що користувачі можуть перекрити це в особистому режимі, ~/.bashrcтому це не є абсолютною гарантією того, що реєстрація відбудеться.

Деякі версії vi (наприклад, nvi) підтримують безпечний режим, який вимикає доступ до оболонки, запускаючи vi as nvi -S. Ви можете встановити глобальний псевдонім, /etc/bashrcщоб примусити цей режим також за замовчуванням.

Зауважте, що загалом проблема користувачів, що потрапляють до оболонки несподіваними засобами, є класичною проблемою Unix. Немає можливості повністю відключити це, найкраще ви можете спробувати обмежити доступ за замовчуванням. Витончений користувач (або навіть користувач, який вміє користуватися Google) завжди може обійти ці обмеження. Наприклад, якщо користувач не хоче, щоб його історія оболонки була зареєстрована, він завжди може просто виконати нову копію оболонки з будь-якими параметрами, які він хотів би використовувати.

Ось велика рецензія про те , як змусити протоколювання в Баш і способи , які каротаж може бути обійдена.

Нарешті, чи ви вирішили просто поговорити з користувачем, щоб визначити, що вони роблять? 99% часу просте словесне спілкування може усунути будь-яку плутанину. Якщо ви реєструєте активність цього користувача, оскільки ви їм не довіряєте, можливо, ви можете поговорити з ними про свої проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.