您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
Redis 安全
发布时间:2021-11-21 11:43:43编辑:雪饮阅读()
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。
通过以下命令查看是否设置了密码验证:
[root@localhost ~]# /usr/local/redis-6.2.5/src/redis-cli
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务。
你可以通过以下命令来修改该参数:
127.0.0.1:6379> config set requirepass xy220807
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "xy220807"
设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令。下面这个是另启的客户端。另外需要说明的是配置文件上进行配置才能永恒,命令配置只在本次redis服务运行期间。
[root@localhost ~]# /usr/local/redis-6.2.5/src/redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
对已经配置了密码的redis服务,客户端进行认证需要使用auth命令,如:
[root@localhost ~]# /usr/local/redis-6.2.5/src/redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379>
127.0.0.1:6379> auth xy220807
OK
127.0.0.1:6379> keys *
1) "key333"
2) "user2_user1_queue"
3) "key222"
4) "sicily"
5) "user1_user2_queue"
127.0.0.1:6379> set key4444 4444
OK
127.0.0.1:6379> get key4444
"4444"
当然如果你的redis是6系列版本,应该会在命令行提示你auth命令后面可以跟随一个用户名和一个密码,若是6系列之前的则只输入密码即可,在6系列中我认为这是对6系列acl中的default用户的密码提供。
为了兼容不输入用户名的6之前的版本命令方式,所以6中不输入用户名直接输入密码即对应default用户。具体可以看看acl相关篇章。
关键字词:redis,安全