macOS 为了确保安全,为系统设定了一个相对复杂的规则,因此,在使用的时候,你需要设定一个符合一般密码规则的密码。如果你试图输入一个短密码,会提示如下错误:
passwd : Credentials could not be verified, username or password is invalid. Credentials could not be verified, username or password is invalid.
Code language: HTTP ( http )
不过,家用电脑很多时候是没有这个必要性的,对于我这种居家使用,希望有密码,但又没必要特别长的密码的人来说,就可以考虑设定一个更短的密码。一方面,有短密码可以避免猫没事来踩我键盘,另一方面,短密码也不至于特别长,一觉醒来不用输入一个特别长的密码。
macOS 是如何设定你的密码规则的?
macOS 当中是有一个 Account Policy 的,系统设定了一个默认的 Policy 来限制你的密码必须符合某些特定的规则。
因此,如果你希望突破默认的 Account Policy ,则有两种方式:
替换现有规则 :使用一个更加宽松的 Account Policy 来替代更加严格的 Policy ,则让自己不至于设置一个非常复杂的规则。同时也不会特别复杂。干掉所有规则 :如果你嫌弃规则的限制,也可以直接干掉所有的规则,这样就可以随心所欲设定规则。
替换现有规则
如果你需要替换现有的规则,则你需要先创建一个规则的文件,你可以只需执行如下命令来将当前的默认规则导出:
pwpolicy getaccountpolicies | awk 'NR>1' > ~/Desktop/ file.plist
Code language: JavaScript ( javascript )
导出成功后,可以打开编辑器,找到其中的 policyAttributePassword
字段,将其值进行修改
policyAttributePassword matches '^$|.{1,}+'
Code language: JavaScript ( javascript )
上面这个规则是使用正则表达式编写的,能通过任何字符串。
清除所有规则
如果你觉得设定规则还是麻烦, 那不妨直接干掉所有的规则好了。执行如下密码,即可干掉所有的规则。
pwpolicy -clearaccountpolicies
上述命令可以帮你干掉所有的账户规则,现在你可以对你的账户做任何事情了。
设置密码
设置完成账户规则后,你就可以执行 passwd
命令,来设定你的账户的密码,设置一个更短且好用的密码。
需要注意的是,你修改的密码是不包含 KeyChain 的,如果你需要修改 KeyChain 的密码,则需要执行 security set-keychain-password
来修改 Keychain 的密码,你可以根据自己的需要修改 KeyChain 的密码。
延展阅读
本文参考了如下链接
https://apple.stackexchange.com/questions/337468/how-to-set-a-short-user-password-in-macos-mojave-and-later-10-14
https://apple.stackexchange.com/questions/293820/modify-pwpolicy-in-sierra