लिनक्स में किसी अन्य उपयोगकर्ता का कमांड इतिहास कैसे देखें?


30

मैं किसी अन्य उपयोगकर्ता का कमांड इतिहास कैसे देख सकता हूं?

मैं अपनी मशीन पर एक व्यवस्थापक हूं। मैं सामान्य इतिहास को देख कर देख सकता हूं /home/user_name/.bash_historyलेकिन user_nameजब वे कर रहे थे तो मैं इसके आदेश नहीं देख सकता sudo

क्या एक उपयोगकर्ता द्वारा निष्पादित सभी कमांड को देखने का एक तरीका है?


1
उसका पासवर्ड चुराएं :) या सोशल इंजीनियरिंग के द्वारा .. यदि आप रूट नहीं हैं, और आपका खाता इस तरह से सेट किया गया है कि आप अन्य उपयोगकर्ता के घर / फ़ाइलों को नहीं पा सकते / पढ़ सकते हैं तो आप बहुत अधिक प्रतिबंधित हैं।
रिंग बियरर

8
"मैं अपनी मशीन पर एक व्यवस्थापक हूं।"

जवाबों:


23

डेबियन-आधारित ऑपरेटिंग सिस्टम पर, tail /var/log/auth.log | grep username आपको उपयोगकर्ता का sudoइतिहास देना चाहिए । मेरा मानना ​​है कि उपयोगकर्ता के सामान्य + sudo कमांड का एकीकृत कमांड इतिहास प्राप्त करने का कोई तरीका नहीं है।

आरएचईएल-आधारित ऑपरेटिंग सिस्टम पर, आपको /var/log/secureइसके बजाय जांच करने की आवश्यकता होगी /var/log/auth.log


किसी भी सुराग क्या यह एक सेंटोस सिस्टम पर होगा? मेरे CentOS 7 मशीनों एक की जरूरत नहीं है/var/log/auth.log
मिच

3
/var/log/secureइसके बजाय कोशिश करें ।
केरिन

अच्छी तरह से काम! बस अपने उत्तर पर एक संपादन अनुरोध में डाल दिया
मिच

4

बस निम्नलिखित का परीक्षण किया, और यह एक आकर्षण की तरह काम किया।

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
वह इस आदेश के बारे में पहले से ही जानता है। मूल प्रश्न से: "मैं /home/user_name/.bash_history को देखकर सामान्य इतिहास देख सकता हूं, लेकिन जब मैं sudo कर रहा था तो मैं उस" user_name "के आदेश नहीं देख सकता।"
माइकल थॉम्पसन

2

यदि उपयोगकर्ता ने एक कमांड जारी की है sudo somecommand, तो कमांड सिस्टम लॉग में दिखाई देगा।

उपयोगकर्ता के साथ एक खोल पैदा की हैं जैसे, sudo -s, sudo su, sudo sh, आदि, फिर कमांड सकता है जड़ उपयोगकर्ता, कि है, में के इतिहास में दिखाई देते हैं /root/.bash_historyया इसी तरह की।


1
सिस्टम लॉग कहां है?
गैरेट

1

# zless /var/log/auth*यहाँ आपका दोस्त है यह भी gzipped फ़ाइलें खोलता है। आप उन लोगों के बीच में :nआगे या :pपीछे कूद सकते हैं।

वैकल्पिक रूप से, आप # journalctl -f -l SYSLOG_FACILITY=10उदाहरण के लिए उपयोग कर सकते हैं । आर्क लिनक्स विकी पर इसके बारे में और पढ़ें



0

हो सकता है कि इस लिंक का आपके लिए मूल्य हो: http://www.sudo.ws/pipermail/sudo-users/2000-March-000000.html

लेकिन आपको यह ध्यान रखना चाहिए कि bash_history में कोई निशान नहीं छोड etcा, किसी स्पेस आदि के साथ कमांड शुरू करने की बात है। इतिहास एक सहायक है, लॉगिंग-टूल नहीं।

जर्मनी से बधाई, डैनियल Leschkowski


-1

तर्क कई अन्य उद्देश्यों पर लागू होता है।
और कैसे पढ़ें .sh_history प्रत्येक उपयोगकर्ता से / घर / फाइल सिस्टम से? यदि उनमें से हजारों हैं तो क्या होगा?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

यहाँ स्क्रिप्ट है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.