모든 사용자가 실행 한 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

C & P 결과를 Google 시트로

셀 B1 C & P에서이 공식

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.