Content Table

Redis Auth 授权

Redis 授权有 2 中方式:

  • 只使用密码。
  • 用户名 + 密码。

只使用密码

在配置文件 redis.conf 中搜索 requirepass# requirepass,将该行的注释符号 # 去掉,并在等号后面输入你想要设置的密码。例如:

1
requirepass Passw0rd

客户端访问:

1
2
3
4
5
6
# 命令中使用密码
redis-cli -h localhost -p 6379 -a Passw0rd

# 登录后输入密码
redis-cli -h localhost -p 6379
auth Passw0rd

用户名 + 密码

在配置文件 redis.conf 中搜索 # aclfilename,将该行的注释符号 # 去掉,并在等号后面输入一个文件路径,用于存储用户名和密码的配置信息。例如:

1
2
# Enable ACLs (Access Control Lists)
aclfile /usr/local/etc/redis/aclfile.conf

在文件 /usr/local/etc/redis/aclfile.conf 中用户名和密码,每一行代表一个用户,格式为 user <username> <password> <permission>。例如:

1
2
user foo on >Passw0rd ~* +@all
user default off
1
2
3
# Define users with specific passwords and commands they can run
# For example, create a user 'myuser' with password 'mypassword' and all commands permitted
# user myuser on >mypassword ~* +@all

客户端访问:

1
2
3
4
5
6
7
8
9
# 命令中使用密码
redis-cli -h localhost -p 6381 --user foo -a Passw0rd

# 登录后输入密码
redis-cli -h localhost -p 6379
auth foo Passw0rd

# URI 的方式
redis-cli -u redis://foo:Passw0rd@localhost:6379

启动 Redis Server

使用配置文件启动 Redis Server:

1
redis-server /path/to/your/redis.conf

docker-compose 安装 Redis

使用 Docker 的时候,可以使用 docker-compose 安装 Redis。

创建目录 redis,文件结构如下:

1
2
3
4
redis
├── aclfile.conf
├── redis.conf
└── docker-compose.yml

aclfile.conf:

1
2
user foo on >Passw0rd ~* +@all
user default off

redis.conf:

1
2
# Enable ACLs (Access Control Lists)
aclfile /usr/local/etc/redis/aclfile.conf

docker-compose.yml:

1
2
3
4
5
6
7
8
9
10
11
12
# redis-cli -u redis://foo:Passw0rd@localhost:6379
# redis-cli -h localhost -p 6379 --user foo -a Passw0rd
services:
redis-userpass:
image: redis:latest
restart: always
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
ports:
- "6379:6379"
volumes:
- ./aclfile.conf:/usr/local/etc/redis/aclfile.conf
- ./redis.conf:/usr/local/etc/redis/redis.conf

安装卸载 Redis:

1
2
3
4
5
6
7
8
9
10
11
# 命令行进入 redis 目录
> cd redis

# 执行安装启动 Redis 容器命令
docker-compose up

# 查看 Redis 容器
docker-compose ps

# 卸载 Redis 容器
docker-compose down