सभी उपयोगकर्ताओं द्वारा निष्पादित सूडो कमांड के बारे में विवरण


10

किस लॉग से मैं किसी भी उपयोगकर्ता द्वारा निष्पादित सूडो कमांड के बारे में विवरण प्राप्त कर सकता हूं। इसमें कार्यशील निर्देशिका, कमांड, उपयोगकर्ता होना चाहिए। यह उपयोगी होगा यदि आप मुझे ऐसा करने के लिए एक शेल स्क्रिप्ट प्रदान कर सकते हैं

जवाबों:


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

गैरेथ के समाधान के लिए एक "परिणाम फ़िल्टर"। (उन लोगों के लिए जो पद के शीर्षक से आए, विवरण नहीं)

आपको केवल कमांड की एक स्वच्छ सूची देता है, सभी उपयोगकर्ताओं द्वारा sudo के रूप में चलाया जाता है।

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

यदि अनुपलब्ध है, तो वर्कअराउंड करें

$sudo journalctl _COMM=sudo | grep COMMAND

Google शीट में C & P का परिणाम है

सेल B1 C & P में यह सूत्र है

=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.