Linux: วิธีรับบันทึกการเข้าสู่ระบบทั้งหมดจากระบบของฉัน [ปิด]


12

ฉันต้องการที่จะรู้ว่าผู้ใช้บันทึกทุกครั้งตั้งแต่ปีที่แล้วในระบบของฉัน?
ฉันใช้lastคำสั่ง แต่มันไม่มีประโยชน์


1
ยินดีต้อนรับสู่ Stack Exchange! โปรดจำไว้ว่าเราทุกคนเป็นอาสาสมัครที่นี่ เช่นนี้เราคาดว่าคุณได้ทำการวิจัยขั้นพื้นฐานแล้ว ดูเหมือนว่าคุณมีการเริ่มต้น - นับตั้งแต่ที่คุณพูดถึงพยายามlastคำสั่ง - แต่คุณควรจะทำวิจัยมากขึ้นกว่านั้นและในกรณีที่คุณไม่ได้ระบุจริงทำไมlastคำสั่งที่ไม่เป็นประโยชน์ นอกจากนี้กำหนด "เข้าสู่ระบบ" คุณต้องการติดตามการเข้าสู่ระบบของคอนโซลหรือไม่? เข้าสู่ระบบ SSH? Emacs ห้ามtelnetเข้าสู่ระบบ? หรืออะไรก็ตามที่รับรองความถูกต้องกับ PAM เป็นที่เฉพาะเจาะจง
strugee

คำตอบ:


10

เข้าสู่ระบบเข้าสู่ระบบบนลินุกซ์สไตล์ redhat เรียกว่าwtmp( man wtmp) เก็บไว้ใน/var/log/ค่าเริ่มต้นและคุณสามารถดึงพวกเขาโดยใช้utmpdump(ใน RHEL6)

[root@server ~]# utmpdump /var/log/wtmp* | awk '$4~"root" {print}'
Utmp dump of /var/log/wtmp
[7] [01320] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:31:47 2013 UTC]
[7] [01817] [ts/3] [root    ] [pts/3       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:38:22 2013 UTC]
[7] [01690] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Tue Sep 24 00:59:04 2013 UTC]
[7] [23641] [ts/0] [root    ] [pts/0       ] [192.168.1.101       ] [192.168.1.101  ] [Wed Sep 25 19:12:44 2013 UTC]
[7] [03020] [ts/0] [root    ] [pts/0       ] [192.168.1.100       ] [192.168.1.100  ] [Fri Sep 27 21:33:40 2013 UTC]
...

1

ดูเหมือนว่าlastสามารถใช้เพื่อให้บรรลุสิ่งที่คุณพยายามทำ คุณต้องผนวกวันที่เข้ากับคำสั่งสุดท้ายเพื่อดึงข้อมูล

last | while read line; do date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`; [[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line; done

อย่างไรก็ตามหากคุณกังวลเกี่ยวกับการค้นหาข้อมูลเกี่ยวกับผู้ใช้เฉพาะคุณสามารถแก้ไขคำสั่งสุดท้ายเป็นlast usernameแล้วจึงwhileวนลูปไปที่มัน มันจะให้ข้อมูลของข้อมูลการเข้าสู่ระบบของผู้ใช้เฉพาะในช่วงหนึ่งปีที่ผ่านมา

ฉันทดสอบคำสั่งด้านบนและทำงานได้อย่างสมบูรณ์แบบในระบบของฉัน ผมเอาคำสั่งดังกล่าวออกจากที่นี่

คุณสามารถเปลี่ยนวันที่ในคำสั่งเพื่อให้เหมาะกับความต้องการของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.