zoukankan      html  css  js  c++  java
  • 【Redis】redis开机自启动、设置守护进程、密码设置、访问权限控制等安全设置(redis默认端口6379)

    一、redis设置开机自启动:centOS:

    1.修改redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行.

    (守护进程:孤儿进程;独立于终端而存在的进程,不会因为终端结束而结束,一直伴随系统进程而存在,类似inetd网络进程)

    打开redis命令:service redis start

    关闭redis命令:service redis stop

    设为开机启动:chkconfig redis on  (ubuntu自动设置为开机自启动)

    设为开机关闭:chkconfig redis off

    // ----------------       2019/3/7 update        ---------------

    centos6.X下设置redis开机自启动,大致命令和步骤如下:(redis-5.0.3)

    1. 设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行.

    2. 复制redis配置文件(启动脚本需要用到配置文件内容,所以要复制)

    [root@localhost /]# mkdir /etc/redis    #在/etc下新建redis文件夹
    [root@localhost redis]# cp /opt/redis-5.0.3/redis.conf /etc/redis/6379.conf   #把安装redis目录里面的redis.conf文件复制到/etc/redis/6379.conf里面,6379.conf启动脚本里面的变量会读取这个名称,6379是redis的端口号

    3.复制redis启动脚本

    [root@localhost redis]# find / -name redis_init_script    #redis启动脚本一般在redis根目录的utils,如果不知道路径,可以先查看路径
    /usr/redis/redis-3.2.4/utils/redis_init_script
    [root@localhost redis]# cp /opt/redis-5.0.3/utils/redis_init_script /etc/init.d/redis    #复制启动脚本到/etc/rc.d/init.d/redis文件中

    (init.d 是一个软连接,链接到/etc/rc.d/init.d/)

    4.修改启动脚本参数

    [root@localhost redis]# vim /etc/rc.d/init.d/redis
    #在/etc/init.d/redis文件的头部添加下面两行注释代码,也就是在文件中#!/bin/sh的下方添加
    # chkconfig: 2345 10 90 
    # description: Start and Stop redis

    同时还要修改参数,指定redis的安装路径

    以下是我的安装路径:
    REDISPORT=6379
    EXEC=/usr/local/redis-5.0.3/src/redis-server
    CLIEXEC=/usr/local/redis-5.0.3/src/redis-cli

    5. 设置redis开机自启动

    # chkconfig --add redis

    # chkconfig redis on   开启开机启动

    # chkconfig redis off   关闭开机启动

    6.重启服务器 reboot

    7.重启完成,查看redis服务是否自启动,ps -aux|grep redis

    // ----------------       2019/3/7 update--end  ---------------

    二、redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下。

    1.比较安全的办法是采用绑定IP的方式来进行控制

     请在redis.conf文件找到如下配置
    # If you want you can bind a single interface, if the bind option is not
    # specified all the interfaces will listen for incoming connections.
    #
    # bind 127.0.0.1

    把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址,表示只允许该ip进行访问

    这种情况下,我们在启动redis服务器的时候不能再用:redis-server,改为:redis-server path/redis.conf 即在启动的时候指定需要加载的配置文件,其中path/是你上面修改的redis配置文件所在目录,这个方法有一点不太好,我难免有多台机器访问一个redis服务。

    2.修改设置密码,以提供远程登陆

     1)打开redis.conf配置文件,找到requirepass,然后修改如下:

       requirepass yourpassword
       yourpassword就是redis验证密码。 

      2)设置密码以后发现可以登陆,但是无法执行命令了。

    redis-cli -h yourIp -p yourPort -a youpassword//启动redis客户端,并连接服务器 redis默认端口6379
    keys * //输出服务器中的所有key

    如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示yourpassword

    由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 conf文件里是明文,所以不用担心自己会忘记)

  • 相关阅读:
    【leetcode】525. Contiguous Array
    【leetcode】827. Making A Large Island
    【leetcode】540. Single Element in a Sorted Array
    【leetcode】45. Jump Game II
    2017.11.2 Talk to customers for an hour
    New Concept English three (29)
    New Concept English three (28)
    2017.10.31 Enginer+position+statement
    New Concept English three (27)
    2017.10.30 Epicor -ERP
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/7676745.html
Copyright © 2011-2022 走看看