在安装fastlane时,我不小心按了Command + w
,然后我卡在了Mac终端的进程完成窗口。而wtf,它卡住了。重启终端,重启Mac,没什么用。
我最近有我的MacOS(Sierra 10.12.3)终端问候我...
login: Could not determine audit condition
[Process completed]
..在我搞砸了usr / bin权限之后。
经过大量的反复试验后,我通过删除名为'login'的文件(不是文件夹)来修复它,这是在/ usr / bin中。
我强调说它不是文件夹而是文件,因为在Sierra之前有一个名为usr / bin / login的文件夹,其删除修复了导致终端失败的一些权限问题。
在MacOS Sierra上,该文件夹已被删除,但删除“登录”文件(或将其移动到其他地方)解决了我的问题,我的机器工作正常。
祝好运!
这个问题的另一个答案相当奇怪,解决这个问题肯定不是去删除登录文件。
系统完整性防护不仅可以保护该文件的目录,而且还可以防止这种情况发生,但是登录文件不仅仅是一些自动重新生成的plist文件,它还是一个可执行的可执行文件和代码所需的代码。记录任何用户。
问题甚至不是登录导致问题,如登录错误消息所指示的那样提到审计也称为记录安全事件的基本安全模块,并且还采取措施例如终止进程或甚至在某些变量发生时停止操作系统。
解决方案是简单地修复权限。由于“磁盘工具”以解决此问题的方式包含该选项,因此您必须将终端欺骗为:
sudo / usr / sbin / diskutil resetUserPermissions / dev / disk1s1 501
注意:您需要输入正确的挂载点(可能不是/ dev / disk1s1)和当前用户的正确UID(可能不是501),但这些都是最有可能的。
删除usr / bin / login也适用于我,但它确实有副作用(我后来注意到一些ENV变量丢失,大概是依赖于登录文件)。问题来自权限所以我做了以下事情:
然后一切都恢复正常。
本回复是参考Marcus Eckert的许可修正案......
首先 - 如果您正在运行High Sierra,则需要在恢复模式下禁用SIP(使用Cmd-R重新启动)。打开终端并运行csrutil disable。然后,您可以重新启动并登录到正常的管理员帐户。现在,您可以将登录文件重命名为loginOLD,打开操作终端窗口,将文件名还原为登录,然后运行两个sudo命令。
登录修复后,请务必重新启动Cmd-R,然后打开终端并通过运行csrutil enable启用SIP。重新启动后,您可以通过打开终端并运行csrutil状态来进行验证。
一旦我让sudo正常工作并禁用了SIP,你的sudo命令就可以了。我...重命名登录到loginOLD ...打开一个操作终端窗口...重命名loginOLD返回登录...运行两个sudo命令...通过打开一个新的操作终端窗口验证成功。 ...使用CMD-R重新启动并重新启用SIP ...重新启动并以我的正常管理员身份登录...打开终端,获得操作窗口,运行csrutil状态,转到“系统完整性保护状态:已启用”。
谢谢马库斯
您需要删除文件“login”,它不是下面的路径。