设置初始密码

您可以使用 neo4j-adminset-initial-password 命令来定义原生用户 neo4j 的密码。如果不显式设置,密码默认为 neo4j,并且必须在首次登录时更改。此命令旨在仅在数据库首次启动前使用一次。

默认的最小密码长度为 8 个字符。如需更改,请使用 dbms.security.auth_minimum_password_length 配置设置。

语法

neo4j-admin dbms set-initial-password 的语法如下:

neo4j-admin dbms set-initial-password [-h] [--expand-commands] [--verbose] [--require-password-change[=true|false]]
                                      [--additional-config=<file>] <password>

参数

表 1. neo4j-admin dbms set-initial-password 参数
参数 描述

<password>

选项

neo4j-admin dbms set-initial-password 命令具有以下选项:

表 2. neo4j-admin dbms set-initial-password 选项
选项 描述 默认

--additional-config=<file>[1]

包含额外配置的配置文件。

--expand-commands

允许在配置值评估中进行命令扩展。

-h, --help

显示此帮助消息并退出。

--require-password-change[=true|false]

要求用户在首次登录时更改密码。

false

--verbose

启用详细输出。

1. 有关详细信息,请参阅 Neo4j Admin 和 Neo4j CLI → 配置

示例

您可以在首次启动数据库之前为原生 neo4j 用户设置密码。
例如,要将密码设置为 mySecretPassword,请在终端中运行以下命令:

neo4j-admin dbms set-initial-password mySecretPassword

若要在首次登录时强制更改密码,请使用 --require-password-change 标志。这在初始设置期间设置临时密码时特别有用。

出于安全考虑,不建议将密码作为命令行参数传递,以避免其被存储在命令行历史记录中。实现此目的的一种方法是使用 Bash 脚本(例如 whiptaildialog)来安全地提示输入密码。

使用 whiptail 提示输入密码
neo4j-admin dbms set-initial-password "$(whiptail --passwordbox "Enter password" 10 50 2>&1 >/dev/tty)"
使用 dialog 提示输入密码
neo4j-admin dbms set-initial-password "$(dialog --passwordbox "Enter password" 10 50 2>&1 >/dev/tty)"