zoukankan      html  css  js  c++  java
  • Docker中运行redis报错误: Failed opening the RDB file root (in server root dir /etc/cron.d) for saving: Permission denied

    错误信息:

    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方式.

      

    有任何需要沟通交流的联系QQ群:276483863 加好友备注【博客园技术交流】
  • 相关阅读:
    〖編程·C++〗回溯算法:排列树 N皇后问题
    〖網頁·PHP〗Windows 7下进行PHP环境搭建
    〖編程·C++〗回溯算法:排列树 工作分配问题
    〖編程·C++〗回溯算法:完全N叉树 最佳调度问题 以及相关思考
    pod install 初始化失败 RuntimeError [Xcodeproj] Unknown object version.
    iOS 版本判定
    Windows部署多版本Mysql服务
    注意IE的Cookie个数限制问题
    检索 COM 类工厂中的组件时失败,原因是出现以下错误: 8007007e
    一次曲折的单点集成之旅
  • 原文地址:https://www.cnblogs.com/JoePotter/p/15732212.html
Copyright © 2011-2022 走看看