gentoo /var/log/redis # ls -al
total 8
drwxrwxr-x 2 root redis 4096 12月 3 16:05 .
drw-rw-r-- 5 root root 4096 12月 3 15:57 ..
-rwxrwxrwx 1 redis redis 0 12月 3 16:05 redis.log
gentoo /var/log/redis # sudo -u redis redis-server /etc/redis.conf
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 175
>>> 'logfile /var/log/redis/redis.log'
Can't open the log file: Permission denied
我可以redis-server
使用 root 用户运行,但我需要使用 redis 用户运行它。然后它打印这个错误日志。
操作系统和redis版本:
Linux gentoo 4.12.12-gentoo #1 SMP Wed Oct 4 09:05:50 CST 2017 x86_64 Virtual CPU a7769a6388d5 GenuineIntel GNU/Linux
Redis server v=4.0.2 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=4504b17bcfd3837e
答案1
我添加了x
权限/var/log
,问题已经解决。看来应该在父目录redis
有权限。x
现在我的/var/log
是701
.
答案2
在 centos 7 上,由于 SELinux 处于强制模式,我也遇到了同样的问题。我通过将redis服务设置为宽容模式解决了这个问题semanage permissive -a redis_t
。