เข้าสู่ระบบไฟล์ที่ `sudo ล่าสุด 'เข้าถึง?


4

คำสั่ง bash last(ต้องการ sudo) พิมพ์บันทึกซึ่งมีข้อมูลเมื่อผู้ใช้ที่แตกต่างกันเข้าสู่ระบบ / ออกจากเปลือก

ฉันค้นหาไฟล์ที่จัดเก็บข้อมูลนี้ซึ่งlastจะเข้าถึงได้ ผมได้ตรวจสอบ/var/log/system.logและไฟล์อื่น ๆ /var/logภายใน

ฉันดูทุกที่บนอินเทอร์เน็ตด้วยและไม่สามารถหาตำแหน่งได้

ฉันได้ แต่ยืนยันว่าไฟล์ที่อยู่ภายใน/var/logเพราะเมื่อฉันได้rm -rf /var/log/, sudo lastแสดงให้เห็นว่าการส่งออกที่ว่างเปล่าจนครั้งต่อไปที่ผมบันทึกไว้ใน

ไฟล์ประเภทใด ขอบคุณ

(ฉันใช้ OS X Mavericks ถ้ามันสร้างความแตกต่าง)

คำตอบ:


1

lastเกิดผลลัพธ์ที่ได้โดยการตรวจสอบ .launchd.events *. *. สถิติไฟล์ใน/private/var/log/com.apple.launchd

การลบไฟล์มักจะ จำกัดlastเอาท์พุทให้เข้าสู่ระบบล่าสุดหลังจากรีบูตเครื่อง ดังนั้นโครงสร้างไฟล์ / ฐานข้อมูล / ในหน่วยความจำเพิ่มเติมจึงจำเป็นต้องมีอยู่

การลบไฟล์ไม่ทำงานอย่างสม่ำเสมอ

ไฟล์สถิติในโฟลเดอร์ผู้ใช้ที่เกี่ยวข้อง (เช่น com.apple.launchd.peruser.0 หรือ com.apple.launchd.peruser.501) ไม่เกี่ยวข้อง!


อืม ... คุณรู้จักรูปแบบของพวกเขาเหรอ?
thepiercingarrow

1
สิ่งนี้ไม่ควรเป็น/private/var/log/com.apple.xpc.launchd/หรือ หรือมีการเปลี่ยนแปลงนี้เมื่อเร็ว ๆ นี้?
nohillside

@thepiercingarrow ดูที่utmpx.hฟังก์ชันมากมายเพื่อเข้าถึง หรือhttp://opensource.apple.com/source/adv_cmds/adv_cmds-163/last/last.cโดยตรง :-)
nohillside

@patrix: lastนี่คือรหัสที่มาของ libcกล้าอยู่ใน
แดน

3

ไฟล์ (ปฏิบัติการ) ที่เป็นปัญหาคือ /var/run/syslog

หากเราดำเนินการman lastเราจะได้รับ

SEE ALSO
     lastcomm(1), utmpx(5), ac(8)

เราสามารถหาได้utmpxใน/var/run directory Utmpx เป็นฐานข้อมูลบัญชีผู้ใช้ของข้อมูลการเข้าสู่ระบบปัจจุบัน ที่สำคัญนี่คือคำสั่งนี้พบได้ในmanหน้าสำหรับutmpx

ตามเนื้อผ้าไฟล์ที่แยกต่างหากจะถูกใช้เพื่อเก็บบันทึกการทำงานของการเข้าสู่ระบบและการออกจากระบบ (wtmpx) และการเข้าสู่ระบบครั้งสุดท้ายของผู้ใช้แต่ละคน (lastlogx) ด้วยความพร้อมใช้งานของระบบบันทึกสิ่งอำนวยความสะดวกของระบบ Apple asl (3) ไฟล์แยกเหล่านี้สามารถแทนที่ด้วยรายการบันทึกซึ่งสร้างขึ้นโดยอัตโนมัติเมื่อเขียนรายการ utmpx

ดังนั้นutmpxกำลังสร้างรายการบันทึกไปยังฟังก์ชัน syslog ของ OS X ดำเนินการคำสั่งต่อไปนี้:

syslog | grep 'login\['

และคุณจะได้รับรายการกิจกรรมการเข้าสู่ระบบทั้งหมดตั้งแต่ติดตั้งระบบปฏิบัติการ (ตัดทอน)

May 26 17:03:12 Allans-iMac login[5572] <Notice>: USER_PROCESS: 5572 ttys003
May 26 17:26:15 Allans-iMac login[5572] <Notice>: DEAD_PROCESS: 5572 ttys003
May 27 10:10:57 Allans-iMac login[5196] <Notice>: DEAD_PROCESS: 5196 ttys002
May 27 10:10:58 Allans-iMac login[4741] <Notice>: DEAD_PROCESS: 4741 ttys001
May 27 10:11:18 Allans-iMac login[6253] <Notice>: USER_PROCESS: 6253 ttys001
May 27 10:25:45 Allans-iMac login[6281] <Notice>: USER_PROCESS: 6281 ttys002
May 27 17:17:15 Allans-iMac login[6281] <Notice>: DEAD_PROCESS: 6281 ttys002
May 27 17:17:21 Allans-iMac login[6253] <Notice>: DEAD_PROCESS: 6253 ttys001
May 28 13:40:06 Allans-iMac login[7123] <Notice>: USER_PROCESS: 7123 ttys001
May 30 09:11:25 Allans-iMac login[1213] <Notice>: USER_PROCESS: 1213 ttys000
May 30 09:11:25 Allans-iMac login[1220] <Notice>: USER_PROCESS: 1220 ttys001
May 30 09:23:19 Allans-iMac login[1220] <Notice>: DEAD_PROCESS: 1220 ttys001
May 30 09:23:19 Allans-iMac login[1213] <Notice>: DEAD_PROCESS: 1213 ttys000
May 30 20:57:16 Allans-iMac login[1695] <Notice>: USER_PROCESS: 1695 ttys000
May 30 20:57:39 Allans-iMac login[1695] <Notice>: DEAD_PROCESS: 1695 ttys000
May 31 22:33:30 Allans-iMac login[2592] <Notice>: USER_PROCESS: 2592 ttys000
Jun  3 16:46:28 Allans-iMac login[2592] <Notice>: DEAD_PROCESS: 2592 ttys000
Jun  4 20:44:43 Allans-iMac login[1789] <Notice>: USER_PROCESS: 1789 ttys000

สำหรับข้อมูลบัญชีผู้ใช้เพิ่มเติมเราสามารถใช้คำสั่ง ac

การดำเนินการman acให้เรา

    NAME
     ac -- display connect-time accounting

SYNOPSIS
     ac [-d] [-p] [-w file] [users ...]

DESCRIPTION
     A record of individual login and logout times are written to the system log by login(8) and launchd(8),
     respectively.  The program ac examines these records and writes the accumulated connect time (in deci-
     mal hours) for all logins to the standard output.

ดังนั้นตามman acข้อมูลการเข้าสู่ระบบจะถูกเขียนลงในบันทึกของระบบ การดำเนินการacทำให้เรา "ถ้าไม่ได้รับข้อโต้แย้ง, ac แสดงจำนวนเวลาทั้งหมดของการเข้าสู่ระบบสำหรับบัญชีที่ใช้งานทั้งหมดในระบบ"

$ ac
total     2477.23

วิธีแยกโดยผู้ใช้:

$ ac -p
testguy      0.04
_mbsetupuser     0.39
allan     2476.74
root         0.07
total     2477.24

ในขณะที่system.logจัดเก็บข้อมูลการเข้าสู่ระบบฉันไม่แน่ใจว่าสามารถเข้าถึงได้lastหรือไม่เพราะเมื่อลบไฟล์lastออกจะยังคงอยู่ สิ่งเดียวกันนี้เกิดขึ้นกับคอมพิวเตอร์ของคุณหรือไม่?
thepiercingarrow

มันไม่ใช่ของsystem.logมันsyslog
อัลลัน

@ อัลลันขอโทษที่รุนแรงเกินไป ฉันไม่เห็นส่วน syslog เพราะฉันไม่ได้รีเฟรชคำตอบของคุณอย่างถูกต้อง
klanomath

เกี่ยวกับ_mbsetupuserดูคำถามนี้
orome

1

lastกำลังใช้/var/log/asl/*ไฟล์

การยิงภายในTerminalหน้าต่างเดียว:

/usr/bin/sudo opensnoop

และอีกอันหนึ่ง:

last

จะแสดงรายละเอียดนี้ให้คุณ

หากคุณต้องการอ่านจากแหล่งที่มานี่คือ:

http://opensource.apple.com/release/os-x-1011/

ดาวน์โหลด:

Libc-1081.1.3

แตกไฟล์ tar ที่บีบอัดนี้:

tar fjx Libc-1081.1.3.tar.gz

และอ่าน:

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