सवाल Syslog पर खोल कमांड लॉग करने के लिए मैं बैश कैसे बना सकता हूं?


बैश 4.1 syslog के इतिहास को लॉग करने में सक्षम है। हालांकि मैं इसे फ्रीबीएसडी 8 के तहत काम नहीं कर सकता।
मैंने बंदरगाहों से बैश को फिर से संकलित करने की कोशिश की है -DWITH_SYSLOG= लेकिन कोई फायदा नहीं हुआ। क्या किसी ने फ्रीबीएसडी के तहत काम करने के लिए लॉगिंग करने में कामयाब रहा है? लिनक्स के बारे में कैसे?


6
2017-10-20 13:33


मूल


sourceforge.net/projects/sudosh - dmourati


जवाब:


करने के लिए बेहतर काम ऑडिटिंग चालू करना होगा, जिससे आप प्रत्येक कमांड को रिकॉर्ड कर सकेंगे, भले ही वे किस शेल का उपयोग कर रहे हों।


4
2017-10-20 14:30





इसे इस्तेमाल करे:

export HISTTIMEFORMAT="%Y-%m-%d %T "
export PROMPT_COMMAND='trap "" 1 2 15; history -a >(tee -a ~/.bash_history | while read line; do if [[ $line =~ ^#[0-9]*$ ]]; then continue; fi; logger -p user.info -t "bash[$$]" "($USER) $line"; done); trap 1 2 15;'

यह लॉगिंग करता है और यह टाइमस्टैम्प के लॉगिंग को रोकता है जिसका उपयोग बैश इतिहास फ़ाइल के लिए किया जाता है। जाल की आवश्यकता है, क्योंकि बैश स्ट्रिंग + सी कई बार दबाकर "सबबोज़" को सिग्नल भेज देगा (बैश 4.3 के साथ परीक्षण किया गया है)। यह वर्तमान उपयोगकर्ता के लॉगआउट को मजबूर करेगा (उदा। सूडो के साथ लॉग इन)


2
2017-10-12 21:23