sudo 是什么,为什么它的历史记录很重要
sudo 允许管理员以 root 用户的身份运行单条命令,root 是除“系统完整性保护”之外可以更改 Mac 上任何内容的账户。你会在“终端”中亲自输入它,安装脚本和开发工具也常常在询问你的密码后运行它。
这使 sudo 历史成为一份有用的记录。如果你这个月没有运行过任何管理员命令,而列表却不是空的,那就是别的东西运行了它们,也许是你从网页上粘贴的某个脚本,或是做了超出其所述范围的安装程序。如果是你自己运行的,这也是回想某个安装脚本改动了什么的快捷办法。
如何在 Mac 上查看 sudo 历史记录
macOS 本身没有 sudo 历史记录文件。每次使用都会写入统一系统日志,你可以在“终端”中这样搜索:
log show --predicate 'process == "sudo"' --last 30d
输出内容很长,还混有 sudo 的其他消息。Sudo Activity 会替你运行同样的搜索,挑出记录命令的那些行,然后显示每一条的日期和运行的完整命令,例如 /usr/bin/whoami 或某个安装程序的脚本。页面会显示最近的十条记录,最新的在最前。如果日志中最近 30 天没有 sudo 命令,页面会如实告知。
日志无法读取时
空列表和无法读取的日志是两回事,页面会把它们区分开来。如果 macOS 拒绝读取或读取日志失败,Sudo Activity 会显示 Sudo history unavailable 并附上原因,而不是报告没有任何活动。
它不涵盖的内容
Sudo Activity 显示的是通过 sudo 运行的命令。它不会列出你在 macOS 对话框中输入密码以批准安装程序或“系统设置”中某项更改的情况,这些由 macOS 自行处理,并不经过 sudo。想了解哪些内容拥有对 Mac 最深的访问权限,请在 Privacy Access 中查看拥有完全磁盘访问权限或辅助功能权限的应用,并在 Startup Items 中查看登录时启动的内容。
在你的 Mac 上读取
系统日志本来就在你的 Mac 上;Sudo Activity 只是读取它。其中的任何内容都不会被上传或发送给我们,详见隐私政策。
关于Sudo Activity的常见问题
在统一系统日志中,而不是单独的文件里。你可以在“终端”中用 log show --predicate 'process == "sudo"' 搜索,或者在 Tidy My Mac 中打开 Sudo Activity,以列表形式查看最近 30 天的记录。
30 天。更早的记录也可能已被 macOS 清除,因为 macOS 会轮转日志以节省空间。
先看看这条命令:安装脚本和开发工具常常在你输入密码之后运行 sudo。如果你无法解释其中某一条,请用 Antivirus 运行一次扫描,检查 Startup Items,并更改你的管理员密码。