รายละเอียดเกี่ยวกับคำสั่ง sudo ดำเนินการโดยผู้ใช้ทั้งหมด


10

ฉันสามารถดูรายละเอียดเกี่ยวกับคำสั่ง sudo ที่บันทึกโดยผู้ใช้ใด มันควรมีไดเรกทอรีการทำงานคำสั่งผู้ใช้ มันจะมีประโยชน์ถ้าคุณสามารถให้เชลล์สคริปต์แก่ฉันได้

คำตอบ:


23

ขึ้นอยู่กับ distro ของคุณ เพียง:

$ 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\///'

วิธีแก้ไขหากไม่สามารถใช้งานได้

$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.