จะดูประวัติคำสั่งของผู้ใช้รายอื่นใน Linux ได้อย่างไร?


30

ฉันจะดูประวัติคำสั่งของผู้ใช้รายอื่นได้อย่างไร?

ฉันเป็นผู้ดูแลระบบในเครื่องของฉัน ฉันสามารถดูประวัติปกติโดยการดู/home/user_name/.bash_historyแต่ผมไม่สามารถดูคำสั่งที่เมื่อพวกเขากำลังทำuser_namesudo

มีวิธีดูคำสั่งทั้งหมดที่ดำเนินการโดยผู้ใช้รายเดียวหรือไม่?


1
ขโมยรหัสผ่านของเขา :) หรือวิศวกรรมสังคม .. หากคุณไม่รูทและบัญชีของคุณตั้งค่าในแบบที่คุณไม่สามารถไป / อ่านที่บ้านของผู้ใช้ / ไฟล์อื่น ๆ คุณถูก จำกัด อย่างมาก
ผู้ถือแหวน

8
"ฉันเป็นผู้ดูแลระบบในเครื่องของฉัน"

คำตอบ:


23

บนระบบปฏิบัติการที่ใช้เดเบียน tail /var/log/auth.log | grep username ควรให้sudoประวัติผู้ใช้แก่คุณ ฉันไม่เชื่อว่ามีวิธีการรับประวัติคำสั่งรวมของคำสั่ง + sudo ปกติของผู้ใช้

บน RHEL ตามระบบปฏิบัติการที่คุณจะต้องตรวจสอบแทน/var/log/secure/var/log/auth.log


เบาะแสอะไรที่จะเกิดขึ้นกับระบบ centos? Centos 7 เครื่องของฉันไม่มี/var/log/auth.log
Mitch

3
ลอง/var/log/secureแทน
เกริน

ทำงานได้อย่างสมบูรณ์แบบ! เพียงแค่ใส่ในคำขอแก้ไขในคำตอบของคุณ
มิทช์

4

เพิ่งทดสอบต่อไปนี้และมันก็ทำงานได้เหมือนมีเสน่ห์

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
เขา / เธอรู้แล้วเกี่ยวกับคำสั่งนี้ จากคำถามเดิม: "ฉันสามารถดูประวัติปกติโดยการดู /home/user_name/.bash_history แต่ฉันไม่เห็นคำสั่งของ" user_name "นั้นเมื่อพวกเขาทำ sudo"
Michael Thompson

2

หากผู้ใช้ออกคำสั่งเหมือนในsudo somecommandคำสั่งจะปรากฏในบันทึกของระบบ

หากผู้ใช้กระบอกไม้ไผ่เปลือกด้วยเช่นsudo -s, sudo su, sudo shฯลฯ แล้วคำสั่งอาจปรากฏในประวัติศาสตร์ของผู้ใช้รากที่เป็นใน/root/.bash_historyหรือคล้ายกัน


1
บันทึกของระบบอยู่ที่ไหน
Garrett

1

# zless /var/log/auth*เป็นเพื่อนของคุณที่นี่ มันเปิดแม้กระทั่งไฟล์ gzipped คุณสามารถกระโดดไปมาระหว่างคนที่:nไปข้างหน้าหรือ:pข้างหลัง

หรือคุณสามารถใช้# journalctl -f -l SYSLOG_FACILITY=10เป็นต้น อ่านเพิ่มเติมเกี่ยวกับสิ่งนี้บนArch Linux wiki



0

บางทีลิงก์นี้อาจมีค่าสำหรับคุณ: http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

แต่คุณควรทราบว่าการไม่ทิ้งร่องรอยไว้ใน bash_history เป็นเพียงเรื่องของการเริ่มต้นคำสั่งด้วยการเว้นวรรค ฯลฯ ประวัติเป็นผู้ช่วยเหลือไม่ใช่เครื่องมือบันทึกข้อมูล

คำทักทายจาก Daniel Daniel จากเยอรมนี


-1

ตรรกะนำไปใช้กับวัตถุประสงค์อื่น ๆ อีกมากมาย
และวิธีการอ่าน. sh_history ของผู้ใช้แต่ละคนจาก / home / filesystem? เกิดอะไรขึ้นถ้ามีหลายพันคน?

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

นี่คือสคริปต์

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