所以我需要找出“某人”可能在什么时候输入了我的密码来解锁屏幕保护程序,有什么办法吗?
我尝试了终端中的最后一个命令,并检查了命令中的某些日志文件,但没有成功。
根据标题,这是在 macOS Catalina 10.15.7 上
答案1
专注于 MacOS Catalina,可能适用于或不适用于其他版本的 MACOS。
A)
创建一个脚本并将其命名为 display_access.sh 之类的内容,然后将以下内容复制到其中,使用您喜欢的方法保存并运行...
#!/bin/sh PERIOD=1d if [[ $# -ge 1 ]]; then PERIOD=$1 fi echo "Times of Mac screen lock and unlock events in the past ${PERIOD}:" SEARCH_FOR="going inactive, create activity semaphore|releasing the activity semaphore" log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last ${PERIOD} | grep -E "${SEARCH_FOR}" | cut -c '1-32 141-155'
B)或者用此行替换最后一行以查看最新的登录事件:
log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last 1m | less
更改为您选择的任意数字....
a) 打开终端如果您未以管理员身份登录,则使用 su 用户名首先以管理员“用户名”进行身份验证。(使用此过程检查 Mac 上的登录历史记录,而无需注销当前用户并在必要时中断当前桌面)。
b) 类型log show --last 1d | grep "UserActivity Assertion"
- 如果您想要查看更多或更少的历史记录,请将“1d”更改为“2h”或“10m”(通过运行 man log 查看文档)。
- 如果省略
--last
修饰符,则运行时间会很长,可能超过 10 分钟。
这似乎可以可靠地显示每次用户使用密码解锁锁定屏幕将机器从睡眠状态唤醒的时间。
创建此脚本以记录自上次解锁/锁定以来的秒数:
function getlastunlock-darwin() { date="$(log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last 1d | command rg "going inactive, create activity semaphore|releasing the activity semaphore" | tail -n1 |cut -c 1-31)" fromnow } function fromnow() { python3 -c 'import datetime ; from dateutil.parser import parse ; import os date = parse(os.environ["date"]) print((datetime.datetime.now(date.tzinfo) - date).total_seconds())' }
打开终端并输入
last
这应该提供日志信息
附注:如果您确定有人在偷偷访问您的机器,这可能是一个绝佳的机会,可以利用有利的信息或对您的事业有利的信息来影响局势。(即奉承、信息陷阱或彻头彻尾的错误信息。爱情和战争中一切都是公平的吗?
可能需要咨询律师?警察?
更改您的密码?
删除最后一小时的历史记录,注销此站点并使用合理的安全措施,以免“暴露你的意图”?
尽量不要草率做出反应。(如果您发现您的怀疑是正确的,最好不要泄露有关非法访问的信息,因为如果您明白我的意思,显然,在“未承认”的状态下对您更有用。大肆宣扬它对情况没有任何帮助,通常会使情况变得更糟)。
此致。