redis设置、查看和校验密码
Redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式(密码),可以通过编辑【redis.conf】配置文件来启用认证,这里简单介绍一下Redis中如何设置、查看和校验密码(登录验证和操作时验证)。
通过配置文件修改Redis的密码
在【redis.conf】配置文件中有一个【requirepass】配置项,这个配置项就是配置Redis访问密码的参数:
requirepass yanggb
注意事项
1.修改访问密码之后要重启Redis。
2.设置的访问密码要尽可能复杂,尽可能长(正式上线)。因为Reids的查询速度是非常快的,如果一个不怀好意的外部用户想要破解密码的话,一秒钟可以尝试150K个密码,这时候只要设置的密码足够复杂足够长,就可以在一定程度上防止密码被轻易破解。
通过命令修改Redis的密码
修改Redis密码的命令是:
config set requirepass yanggb
注意事项
1.通过命令修改访问密码不需要重启Redis(即时生效)。
2.如果【redis.conf】配置文件中的【requirepass】配置项已经被配置,通过命令修改的访问密码会被记录到该参数中,这种情况下修改之后是一直有效的。
3.如果【redis.conf】配置文件中的【requirepass】配置项没有被配置,通过命令修改的访问密码不会被记录到该参数中,这种情况下重启Redis之后密码就会失效。
查询Redis的密码与权限认证
查询Redis密码的命令是:
config get requirepass
不出意外的话,会报无操纵权限的错误:(error) ERR operation not permitted。
这时候需要先进行权限认证(检验密码):
auth yanggb
再次执行前面的命令就能获取到密码了(??我知道密码还要查密码干嘛,神一样的操作)。
登录有密码校验的Redis
有密码校验的Redis需要在登录Redis的时候输入密码:
redis-cli -p 6379 -a yanggb
也可以先登录之后再进行权限认证:
redis-cli -p 6379
auth yanggb
注意事项
1.auth命令和其他Redis提供的命令一样都是没有加密的,阻止不了攻击者在网络上窃取你的密码。
总结
密码认证层的目的是提供多一层简单的保护,当防火墙或者其他用来保护Redis的系统防御外部攻击失败的时候,这层密码校验层就能有效防止无密码用户对Redis的数据访问。
"有些伤,是永远不会愈合了。"
原文地址:https://www.cnblogs.com/yanggb/p/11361991.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解 mysql int 类型的长度值问题
- 常见排序算法及golang 实现
- CentOS 8 安装Git及基本配置
- 创建远程仓库,如何将本地项目上传到GitLab
- mysql索引原理,看这篇就够啦
- TypeScript 设计模式之抽象工厂
- vim插件的安装(NERDTree)
- php7的zval相关介绍
- Zend_string与写时复制
- php的引用类型底层解析
- Roslyn 解决 dotnet core 应用进程间引用找不到 runtimeconfig 依赖文件
- dotnet 在 UOS 国产系统上安装 dotnet sdk 的方法
- 清空Redis集群所有节点的数据工具
- php数组hashtable的巧妙设计
- php运行生命周期--模块初始化php_module_startup