- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
很抱歉,如果这是一个重复的问题,但我已经在 stackoverflow 上搜索了几个小时,但找不到答案。
场景:
我更改了 Redis 的 dump.rdb 的默认目录,因为我的雇主希望它在特定目录中。我编辑了 redis.conf 文件目录中的行,使其指向/www/redis/sessions。我没有改文件名,所以还是dump.rdb。我还在/lib/systemd/system 中将其作为服务运行。如果有帮助,我正在使用 redis v4.0.11。
问题:
当我使用 systemctl stop redis 停止守护进程时。我从 SELinux 得到一个错误,说 redis-server 没有权限写入/www/redis/sessions。它还会尝试创建一个名为 temp-####.rdb 的临时文件,而不是尝试打开 dump.rdb。我检查了目录和文件权限,并确保任何用户都可以写入。我仍然遇到同样的错误。
试过: 1. 在 systemd 的服务文件中添加行 ReadWriteDirectories =/www/redis/sessions。 2. 更改/www/redis/sessions 目录,以便任何人都可以写入。 3.将redis.conf文件中的目录更改为/www/redis/sessions 4. 使用 ./redis-cli CONFIG GET * 检查 redis 实例是否加载了正确的 redis.conf 文件 5. 增加SELinux推荐的建议本地策略 6. 使用 chcon -R --type=httpd_sys_content/www/redis/sessions & chcon -R --type=httpd_sys_rw_content_t/www/redis/sessions 更改 redis-server 的内容
非常感谢任何帮助或建议。
最佳答案
SELinux 使用的策略不同于使用 chmod
等编辑的访问权限。如果不发布您的策略,您将无法获得太多帮助。作为一个疯狂的猜测,我会说 redis 的创建掩码是错误的。
temp-####.rdb
文件不是问题。 Redis 首先写入临时文件,然后将它们移动到最终目的地。写入失败时保留现有文件的典型方法。
您是否考虑过将 .rdb 留在原处,并简单地将其链接到您的微观管理老板想要的位置?
关于Redis 转储.rdb |不是默认目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833819/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!