Подробности о командах sudo, выполняемых всеми пользователями

10

Из какого журнала я могу получить подробную информацию о командах sudo, выполняемых любым пользователем. Он должен содержать рабочий каталог, команду, пользователя. Было бы полезно, если бы вы могли предоставить мне сценарий оболочки для этого

Ракеш Р Наир
источник

Ответы:

23

В зависимости от вашего дистрибутива; просто:

$ sudo grep sudo /var/log/secure

или

$ sudo grep sudo /var/log/auth.log

который дает:

Nov 14 09:07:31 vm1 sudo: pam_unix(sudo:auth): authentication failure; logname=gareth uid=1000 euid=0 tty=/dev/pts/19 ruser=gareth rhost=  user=gareth
Nov 14 09:07:37 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/yum update
Nov 14 09:07:53 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/grep sudo /var/log/secure

Пользователь, выполняющий команду, следует после sudo:- garethв этом случае.

PWD это каталог.

USERэто пользователь, который garethработает как - rootв этом примере.

COMMAND команда выполнила

Поэтому в приведенном выше примере garethиспользуется sudoдля запуска, yum updateа затем запускается этот пример. До этого он набрал неверный пароль.

На более новых системах:

$ sudo journalctl _COMM=sudo

дает очень похожий вывод.

garethTheRed
источник
0

«Фильтр результатов» для решения Гарета. (для тех, кто прибыл по названию поста, а не по описанию)

Предоставляет всем пользователям чистый список команд, запускаемых как sudo.

$sudo journalctl _COMM=sudo  | sed -e '/COMMAND/!d' -e 's/.*COMMAND=//' -e 's/.*bin\///'

Обходной путь, если sed недоступен

$sudo journalctl _COMM=sudo | grep COMMAND

Результаты C & P в листах Google

В ячейке B1 C & P эта формула

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
GreenEyedGus
источник