为了保证生产环境服务器的安全,在工做中有一个规范,要求咱们运行的服务都要求以非登录的普通用户运行,从而防止程序自己的漏洞被利用被***提权!好比咱们在编译安装nginx、mysql以及php以前都会经过useradd创建非登录的普通用户,而后在编译的时候指定该用户。相似这种的服务都是自己原生支持以普通用户运行的。可是有些程序并非原生支持,在编译时候没有提供这个功能。只能编译后咱们从新修改指定普通用户来运行。好比今天咱们要举例的redis。废话少说,今天咱们一块儿来学习下,如何让redis服务以普通用户运行。php
1.创建普通用户mysql
groupadd redis useradd redis -M -g redis -s /sbin/nologinnginx
2.提早建立必要的目录redis
mkdir /var/run/redis -pv && chown redis.redis /var/run/redis -Rsql
mkdir /usr/local/redis/data/ -pv && chown redis.redis /usr/local/redis/data/ -R mkdir /var/log/redis/ -pv && chown redis.redis /var/log/redis/ -Rvim
(pid 目录,默认是/var/run/可是仅限root用户建立,若是普通用户运行的,必须在其下自创目录,并chown受权)安全
注意:咱们的appendonly.aof文件默认是644权限,其余用户只读。因此修改普通用户前,看看该文件在哪一个路径下,而且检查是否chown redis了,也能够给他直接加w权限,可是为了安全不推荐。服务器
3.修改配置文件的pidfile,logfile以及dir的位置app
4.修改服务启动文件ide
vim /usr/lib/systemd/system/redis.service
主要添加User,Group,PIDFile。