无法在 Redis 上运行 ACL 保存

问题描述 投票:0回答:1

我正在尝试在 Docker 设置上本地运行 Redis。

配置和 ACL 文件的设置如下:

# redis.conf
aclfile /var/lib/redis/users.acl
## cluster is not enabled
# users.acl
user default on >password ~* &* +@all

然后我使用 docker-compose 文件启动 redis:

version: "3.8"
services:
  redis_local:
    container_name: redis_local
    image: redis:6.2.2
    restart: always
    command: 
      -  /var/lib/redis/redis.conf
    ports:
      - 6379:6379
    volumes:
      - ./redis.conf:/var/lib/redis/redis.conf
      - ./users.acl:/var/lib/redis/users.acl
      - ./redis_data:/data

到目前为止一切都很好。

我的所有 ACL

SETUSER
命令都运行良好,并且正在创建可以进行身份验证的用户。

但是,我在运行

ACL SAVE
命令时遇到了问题。

最初,我收到此错误:

Opening temp ACL file for ACL SAVE: Permission denied

当然,我尝试通过运行以下命令手动为其提供权限:

chmod 777 /var/lib/redis

但是当我使用上述命令向文件夹提供权限并再次运行

ACL SAVE
后,我收到以下错误:

Renaming ACL file for ACL SAVE: Device or resource busy

有人知道可以采取什么措施以正确的方式解决这个问题吗?任何有关此事的帮助将不胜感激。

谢谢!

javascript docker kubernetes redis acl
1个回答
0
投票

抱歉回复晚了。 您需要将acl文件的所有权设置为redis。请使用 chown redis:redis /var/lib/redis/users.acl

© www.soinside.com 2019 - 2024. All rights reserved.