当前位置: 首页 > ai >正文

redis不要以root权限启动(linux)

redis不要以root权限启动(linux)

前言

redis默认启动方法都是以root启动的,不安全,现在创建一个新的用户来启动。

1 新增用户

1.1 新增用户组(redisgroup)

执行:groupadd redisgroup

1.1 新建用户(redisuser)并加入(redisgroup)组中,并禁止登录

执行:useradd -M redisuser -g redisgroup -s /sbin/nologin

2 redis 启动

执行:sudo -u redisuser /home/redis-7.4.1/src/redis-server /home/redis-7.4.1/7001.conf
如果出现:sudo : command not found 则sudo的在线安装执行:yum install sudo

redis 关闭
执行:/home/redis-7.4.1/src/redis-cli -p 7001 -a redis密码 shutdown

2 修改开机启动文件

2.1 方法一:修改 /etc/rc.local 文件

执行:vim /etc/rc.local
最下面增加
sudo -u redisuser /home/redis-7.4.1/src/redis-server /home/redis-7.4.1/7001.conf

退出赋权限
chmod +x /etc/rc.local

2.2 方法二:添加开机启动服务(推荐)

vi /etc/systemd/system/redis.service

######## 写入内容
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
User=redisuser # 添加用户
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

修改redis.service文件后可能有提示:Run ‘systemctl daemon-reload’ to reload units.
解决方法:执行 systemctl daemon-reload 就可以了

3 重新启动redis

systemctl start redis.service ## 启动redis服务
systemctl stop redis.service ## 停止redis服务
systemctl restart redis.service ## 重启redis服务
systemctl status redis.service ## 查看redis服务当前状态

4 其他

后面又碰到redis报错
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
修改 redis.conf 文件配置
快速定位 /stop-writes-on-bgsave-error
stop-writes-on-bgsave-error 将yes改成no

redis-cli -p 7001 -a redis密码 shutdown 执行报错:
Failed opening the temp RDB file temp-16831.rdb (in server root dir /home/redis-7.4.1) for saving: Permission denied
16831:M 08 Nov 2024 18:50:41.010 # Error trying to save the DB, can’t exit.
16831:M 08 Nov 2024 18:50:41.010 # Errors trying to shut down the server. Check the logs for more information.
解决:打开redis.conf,找到 dir ./ 设置成自己的路径(随便你设置,这路径,但是要合理) 这里设置为 dir /home/redis-7.4.1/myRedis/ myRedis需要自己手动创建,并赋予权限:chmod -R 777 myRedis/
dir /home/redis-7.4.1/myRedis/

http://www.xdnf.cn/news/258.html

相关文章:

  • c加加重点学习之day03
  • 仿腾讯会议项目开发——网络嵌入
  • 软件测试之接口测试详解
  • 开源AI守护每一杯------奶茶咖啡店视频安全系统的未来之力
  • SQL-子查询
  • iPaaS应用集成平台在交通运输行业有哪些应用场景
  • (51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)
  • 643SJBHflash个人网站
  • 【Python爬虫基础篇】--2.模块解析
  • AI时代的泛安全新范式:Kaamel安全智能体解决方案
  • 数据库被渗透怎么办?WAF能解决数据库安全问题吗?
  • 织梦DedeCMS首页列表页调用会员信息的SQL标签
  • 2025年人工智能指数报告(斯坦福)重点整理
  • 静态时序分析STA——8.2 时序检查(保持时间检查)
  • 第十四节:实战场景-何实现全局状态管理?
  • 【python】编码、输入、数据类型
  • CCF CSP 第36次(2024.12)(2_梦境巡查_C++)
  • 本地部署ai图片转生成视频,一键运行包的制作教程。
  • 调制器的噪声传递函数(NTF)的零极点配置对其性能的影响
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • C++11中的std::condition_variable
  • 深度学习中的概念——元素积(哈达玛积)
  • Skipped breakpoint at ... because of stepping in another thread问题分析
  • 制造企业PLM深度应用:2025年基于PDCA循环的7项持续改进指标
  • 2025年Q2(桥式)起重机司机题库考试精选题
  • 高级java每日一道面试题-2025年4月13日-微服务篇[Nacos篇]-Nacos如何处理网络分区情况下的服务可用性问题?
  • AI的出现,是否能替代IT从业者?
  • 电子电器架构 --- OEM企标中规定ECU启动时间的目的
  • 第七篇:系统分析师第三遍——1、2章
  • 【Spring Boot】把jar包导入本地系统