すべてのユーザーが実行した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

非常によく似た出力が得られます。


0

Garethのソリューションの「結果フィルター」。(説明ではなく、投稿のタイトルで到着した場合)

すべてのユーザーがsudoとして実行するコマンドのみの明確なリストを提供します。

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

sedが利用できない場合の回避策

$sudo journalctl _COMM=sudo | grep COMMAND

GoogleシートへのC&P結果

セルB1 C&Pで、この数式

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.