首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于权限问题,systemctl重启失败

由于权限问题,systemctl重启失败
EN

Stack Overflow用户
提问于 2020-11-07 06:01:52
回答 1查看 446关注 0票数 0

我安装了redis并将redis-server放在/usr/local/bin:

代码语言:javascript
复制
-rwxr-xr-x 1 redis         redis         11044232 Sep 24 00:30 redis-server

我在同一个文件夹/usr/ redis.conf /bin中有本地:

代码语言:javascript
复制
-rwxr-xr-x 1 redis         redis              120 Oct  6 21:30 redis.conf

我在/etc/systemd/ redis.service中创建了系统:

代码语言:javascript
复制
-rw-r--r-- 1 root root  192 Oct  6 21:46  redis.service

cat redis.conf:

代码语言:javascript
复制
Description=Redis
After=network.target
[Service]
User=redis
Group=redis
Type=Simple
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
[Install]
WantedBy=multi-user.target

但是当我跑的时候

代码语言:javascript
复制
sudo systemctl restart redis
sudo systemctl status redis

显示:无法打开仅附加文件:权限被拒绝

如果我在redis.service中将服务单元中的用户和组更改为“根”,然后再次重新启动,那么redis服务器就会成功启动。

我添加了用户redis:

代码语言:javascript
复制
sudo useradd --no-create-home --shell /bin/false redis

原因何在?我想使用专用用户redis来启动服务器。

EN

回答 1

Stack Overflow用户

发布于 2020-11-08 04:43:27

导致

用户redis没有访问/usr/local/bin/appendonly.aof的用户权限,因为它位于/usr/local/bin中。

默认情况下,Redis工作目录是相对于redis.conf的,由以下行设置:

代码语言:javascript
复制
dir ./

解决方案

  1. redis.conf中的dir ./更改为redis用户
  2. 可写的目录,或将redis.conf放在redis用户可写的目录中(无论如何只有可执行文件应位于<代码>D18中)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64722162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档