当前位置:嗨网首页>书籍在线阅读

04-数据库密码

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.1.2 数据库密码

除此之外,还可以通过配置文件中的 requirepass 参数为Redis设置一个密码。例如:

requirepass TAFK(@~!ji^XALQ(sYh5xIwTn5D$s7JF

客户端每次连接到Redis时都需要发送密码,否则Redis会拒绝执行客户端发来的命令。例如:

redis> GET foo
(error) ERR operation not permitted

发送密码需要使用 AUTH 命令,就像这样:

redis> AUTH TAFK(@~!ji^XALQ(sYh5xIwTn5D$s7JF
OK

之后就可以执行任何命令了:

redis> GET foo
"1"

由于Redis的性能极高,并且输入错误密码后Redis并不会进行主动延迟(考虑到Redis的单线程模型),所以攻击者可以通过穷举法破解Redis的密码(1秒内能够尝试十几万个密码),因此在设置时一定要选择复杂的密码。

提示

配置 Redis 复制的时候如果主数据库设置了密码,需要在从数据库的配置文件中通过 masterauth 参数设置主数据库的密码,以使从数据库连接主数据库时自动使用 AUTH 命令认证。