Иногда интересно в целях аудита посмотреть, какие команды были выполнены на хосте VMware ESXi 5.0, а что интереснее - кто именно их выполнял. Для этого на хосте ESXi есть специальный лог-файл, хранящий введенные команды:
/var/log/shell.log
В этот лог на хосте можно также заглянуть и через веб-браузер по адресу: https://ESXiHostnameOrIP/host/shell.log
Посмотрим его содержимое:
Отлично - историю команд мы получили, но кто из пользователей их выполнял? Для этого нам понадобится запомнить число в квадратных скобках после слова "shell" - это так называемый World ID для сессии (например, 2938482). Обратите также внимание на присутствующий для каждой команды timestamp.
Далее нам понадобиться открыть следующий лог-файл, хранящий данные об аутентификации пользователей:
/var/log/auth.log
В этот лог на хосте можно также заглянуть и через веб-браузер по адресу: https://ESXiHostnameOrIP/host/auth.log
Там мы найдем такие строчки, если использовался прямой логин в ESXi Shell:
2011-08-29T18:01:00Z login[2938482]: root login on 'char/tty/1'
Если использовался логин по SSH в интерактивном режиме, мы увидим вот такое:
2011-08-29T18:01:00Z sshd[12345]: Connection from 10.11.12.13 port 2605
2011-08-29T18:01:00Z sshd[12345]: Accepted keyboard-interactive/pam for root from10.11.12.13 port 2605 ssh2
2011-08-29T18:01:00Z sshd[2938482]: Session opened for 'root' on /dev/char/pty/t0
2011-08-29T18:01:00Z sshd[12345]: Session closed for 'root' on /dev/char/pty/t0
...
2011-08-29T18:35:05Z sshd[12345]: Session closed for 'root' 2
Если использовался логин по SSH с использованием публичного ключа, то мы увидим следующее:
2011-08-29T18:01:00Z sshd[12345]: Connection from 10.11.12.13 port 2605
2011-08-29T18:01:00Z sshd[12345]: Accepted publickey for root from 10.11.12.13 port 2605ssh2
2011-08-29T18:01:00Z sshd[2938482]: Session opened for 'root' on /dev/char/pty/t0
2011-08-29T18:01:00Z sshd[12345]: Session closed for 'root' on /dev/char/pty/t0
...
2011-08-29T18:35:05Z sshd[12345]: Session closed for 'root' 2
Теперь, я думаю понятно, что World ID сессии, который мы нашли для пользователя открывшего сессию с ESXi Shell и который указан в квадратных скобках строчек лога auth.log - тот же самый, что и в логе shell.log. Таким образом, в логе shell можно всегда понимать, кто и когда выполнял данные команды, зная World ID сессии пользователя из auth.log и timestamp.