# macOS 如何跳过默认密码规则，设定短密码

- Link: https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/
- Published: 2022-06-25T06:00:00+08:00
- Author: 白宦成

文章目录

 [Toggle](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#)

 * [macOS 是如何设定你的密码规则的？](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#macos_%e6%98%af%e5%a6%82%e4%bd%95%e8%ae%be%e5%ae%9a%e4%bd%a0%e7%9a%84%e5%af%86%e7%a0%81%e8%a7%84%e5%88%99%e7%9a%84%ef%bc%9f)
 * [替换现有规则](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#%e6%9b%bf%e6%8d%a2%e7%8e%b0%e6%9c%89%e8%a7%84%e5%88%99)
 * [清除所有规则](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#%e6%b8%85%e9%99%a4%e6%89%80%e6%9c%89%e8%a7%84%e5%88%99)
 * [设置密码](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#%e8%ae%be%e7%bd%ae%e5%af%86%e7%a0%81)
 * [延展阅读](https://www.ixiqin.com/2022/06/25/macos-how-to-skip-a-default-password-rules-setting-short-password/#%e5%bb%b6%e5%b1%95%e9%98%85%e8%af%bb)

macOS 为了确保安全，为系统设定了一个相对复杂的规则，因此，在使用的时候，你需要设定
一个符合一般密码规则的密码。如果你试图输入一个短密码，会提示如下错误:

    ```shcb-line-numbers
    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 ，则有两种方式：

 1. **替换现有规则**：使用一个更加宽松的 Account Policy 来替代更加严格的 Policy ，则
    让自己不至于设置一个非常复杂的规则。同时也不会特别复杂。
 2. **干掉所有规则**：如果你嫌弃规则的限制，也可以直接干掉所有的规则，这样就可以随心
    所欲设定规则。

## 替换现有规则

如果你需要替换现有的规则，则你需要先创建一个规则的文件，你可以只需执行如下命令来
将当前的默认规则导出：

    ```javascript
    pwpolicy getaccountpolicies | awk 'NR>1' > ~/Desktop/file.plist
    Code language: JavaScript (javascript)
    ```

导出成功后，可以打开编辑器，找到其中的 `policyAttributePassword` 字段，将其值进行
修改

    ```javascript
     policyAttributePassword matches '^$|.{1,}+'
    Code language: JavaScript (javascript)
    ```

上面这个规则是使用正则表达式编写的，能通过任何字符串。

## 清除所有规则

如果你觉得设定规则还是麻烦， 那不妨直接干掉所有的规则好了。执行如下密码，即可干掉
所有的规则。

    ```shcb-line-numbers
    pwpolicy -clearaccountpolicies
    ```

上述命令可以帮你干掉所有的账户规则，现在你可以对你的账户做任何事情了。

## 设置密码

设置完成账户规则后，你就可以执行 `passwd` 命令，来设定你的账户的密码，设置一个更
短且好用的密码。

![](https://files.ixiqin.com/2022/07/23062738/d2b5ca33bd970f64a6301fa75ae2eb22-1024x342.
png)

需要注意的是，你修改的密码是不包含 KeyChain 的，如果你需要修改 KeyChain 的密码，
则需要执行 `security set-keychain-password` 来修改 Keychain 的密码，你可以根据自己
的需要修改 KeyChain 的密码。

![](https://postimg.aliavv.com/bt/9vzyn.png)

## 延展阅读

本文参考了如下链接

[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/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](https://apple.stackexchange.com/questions/293820/modify-pwpolicy-in-sierra)
