Docker中运行redis报错误: Failed opening the RDB file root (in server root dir /etc/cron.d) for saving: Permission denied

摘要:
错误消息:1:M23Dec202119:53:02.058*后台保存已启动密码18481848:C2Dec202119:43:02.058#无法打开DBfilebackup。db(inserverrootdir/etc)用于保存:Permissiondenied1:M23Dec202119:53:02.158#Backger

错误信息:

1:M 23 Dec 2021 19:53:02.058 * Background saving started by pid 1848
1848:C 23 Dec 2021 19:53:02.058 # Failed opening the RDB file backup.db (in server root dir /etc) for saving: Permission denied
1:M 23 Dec 2021 19:53:02.158 # Background saving error
1:M 23 Dec 2021 19:53:03.010 # Failed opening the RDB file root (in server root dir /etc) for saving: Permission denied
1:M 23 Dec 2021 19:53:03.073 # Failed opening the RDB file root (in server root dir /etc) for saving: Permission denied
1:M 23 Dec 2021 19:53:03.103 # Failed opening the RDB file root (in server root dir /etc) for saving: Permission denied
1:M 23 Dec 2021 19:53:04.227 # Failed opening the RDB file zzh (in server root dir /etc/cron.d) for saving: Permission denied
1:M 23 Dec 2021 19:53:04.323 # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied

问题原因
Background saving这个是Redis用来保存以RDB模式运行的当前快照的线程所写入的日志.

redis的不安全访问,导致配置被修改.

攻击者想利用redis直接修改crontab配置,实现一些定时任务写入,从而去执行一些"特殊"命令(比如,挖矿等),甚至掌控服务器.

解决方法

永久方法

1.修改配置文件

requirepass 123456 # 123456 换成你的密码

  

下面部分不影响,但是是更安全的做法.redis3.2后可用.

bind 0.0.0.0 # 绑定到具体地址
protected-mode yes # 开启保护模式,该模式将需配置bind ip或者设置访问密码

临时方法

通过redis-cli进入redis客户端,然后通过config设置密码(直到重启前有效).

config get requirepass # 查看当前密码

  

1) "requirepass"
2) ""

  

如果结果如上,则表明当前没有密码.

(error) NOAUTH Authentication required.

  

如上则表示有密码,而你是未授权访问的.

设置新密码:

config set requirepass <you password> # <you password> 替换成你的密码

  

通过 config get检查是否设置成功.设置成功后,通过下面命令认证:

auth <you password> # <you password> 替换成你的密码
get a

如果能看到正常的返回值,就说明成功了.

这样就能避免别人轻易访问redis-server.
注意此处的密码长度最好比较长,比如10位以上,因为redis的速度太快了,通过暴力破解的可能性高于通常的http方式.

  

免责声明:文章转载自《Docker中运行redis报错误: Failed opening the RDB file root (in server root dir /etc/cron.d) for saving: Permission denied》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇克隆加密狗、复制加密狗、破解加密狗的定义区别PG-用户|角色管理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于Redis的Spring cache 缓存介绍

Cache API及默认提供的实现 Spring提供的核心Cache接口:  package org.springframework.cache; public interface Cache { String getName(); //缓存的名字 Object getNativeCache(); //得到底层使用的缓...

Spring boot如何快速的配置多个Redis数据源

简介 redis 多数据源主要的运用场景是在需要使用多个redis服务器或者使用多个redis库,本文采用的是fastdep依赖集成框架,快速集成Redis多数据源并集成lettuce连接池,只需引入依赖后在yaml文件中配置多数据源连接信息即可。 源码地址 希望大家可以star支持一下,后续还会加入其它依赖的简易整合。https://github.com...

django-实现登录短信验证

功能演示 核心任务 前端功能: 点击按钮Ajax调用发送验证码功能 输完验证码后Ajax调用验证功能 后端功能: 功能1:发送验证码功能 功能2:验证码检查 后台核心逻辑(不需要手写) 功能3:发短信 功能4:生成短信验证码(随机生成6位数字) 集成Redis 使用Redis代替session缓存, 存储数据! Redis集成到Djang...

Redis事务、持久化、发布订阅

一、Redis事物 1. 概念 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三个阶段: 开始事务。 命...

Docker 部署Confluence15.2

一、数据库准备 数据库版本:5.7 这里数据库并没有采用docker镜像方式,而是选择已有数据库。至于数据库安装这里不再说明。 注:我这里安装confluence时,需要在下面配置数据库信息时,在数据库地址链接后面加上?sessionVariables=tx_isolation='READ-COMMITTED',否则会报错 1) 创建数据库并授权 cre...

DOCKER 从入门到放弃(五)

添加docker启动参数修改存储大小 添加--storage-opt 参数设置thin-pool和元数据大小--storage-opt dm.loopmetadatasize=10G --storage-opt dm.loopdatasize=400G 修改thin-pool池大小为400g,元数据大小为10g [root@docker opt]# cat...