未验证 提交 e03d4ef6 编写于 作者: C Changjian Gao 提交者: GitHub

Docs: update link to Chinese version encryption doc (#480)

上级 4a5abd1f
......@@ -18,7 +18,7 @@ JuiceFS 是一款高性能 [POSIX](https://en.wikipedia.org/wiki/POSIX) 文件
5. **多端共享**:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据;
6. **强一致性**:确认的修改会在所有挂载了同一文件系统的服务器上立即可见,保证强一致性;
7. **强悍性能**:毫秒级的延迟,近乎无限的吞吐量(取决于对象存储规模),查看[性能测试结果](docs/zh_cn/benchmark.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](docs/en/encrypt.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](docs/zh_cn/encrypt.md)
9. **文件锁**:支持 BSD 锁(flock)及 POSIX 锁(fcntl);
10. **数据压缩**:支持使用 [LZ4](https://lz4.github.io/lz4)[Zstandard](https://facebook.github.io/zstd) 压缩数据,节省存储空间;
......
......@@ -25,10 +25,7 @@ JuiceFS client. The only thing users need to do is to provide a private key or
passphrase during JuiceFS mount and use it like an ordinary file system. It is
completedly transparent to the applications.
**Note**: The data cached in the client side is **NOT** encrypted. Nevertheless, it is
only accessible by root or the owner. If you want to encrypt the cached data
as well, you can put the cache directory in an encrypted file system or block
storage.
> **Note**: The data cached in the client side is **NOT** encrypted. Nevertheless, it is only accessible by root or the owner. If you want to encrypt the cached data as well, you can put the cache directory in an encrypted file system or block storage.
### Encryption and Decryption Method
......@@ -83,8 +80,7 @@ $ openssl genrsa -out my-priv-key.pem -aes256 2048
$ juicefs format --encrypt-rsa-key my-priv-key.pem REDIS-URI NAME
```
**Note**: If the private key is protected by a passphrase, it should be
specified using `JFS_RSA_PASSPHRASE` for `juicefs mount`.
> **Note**: If the private key is protected by a passphrase, it should be specified using `JFS_RSA_PASSPHRASE` for `juicefs mount`.
### Performance
......
......@@ -18,11 +18,11 @@ $ sudo docker run -d --name redis \
redis redis-server --appendonly yes
```
After the container is successfully created, you can use `redis://127.0.0.1:6379` to access the redis database.
After the container is successfully created, you can use `redis://127.0.0.1:6379` to access the Redis database.
> **Note**: The above command persists redis data in the `redis-data` data volume of docker, and you can modify the storage location of data persistence as needed.
> **Note**: The above command persists Redis data in the `redis-data` data volume of docker, and you can modify the storage location of data persistence as needed.
> **Security Tips**: The redis database instance created by the above command does not enable authentication and exposes the host's `6379` port. If you want to access this database via the Internet, it is strongly recommended to refer to [Redis official documentation](https: //redis.io/topics/security) Enable protected mode.
> **Security Tips**: The Redis database instance created by the above command does not enable authentication and exposes the host's `6379` port. If you want to access this database via the Internet, it is strongly recommended to refer to [Redis official documentation](https: //redis.io/topics/security) Enable protected mode.
For more information about Redis database, [click here to view](databases_for_metadata.md#Redis).
......@@ -63,7 +63,7 @@ $ sudo install juicefs /usr/local/bin
> **Note**: You can also build the JuiceFS client manually from the source code. [Learn more](client_compile_and_upgrade.md)
## 4. Create JuiceFS file system
## 4. Create JuiceFS file system
When creating a JuiceFS file system, you need to specify both the Redis database used to store metadata and the object storage used to store actual data.
......@@ -138,7 +138,7 @@ Edit the `/etc/fstab` configuration file, start a new line, and add a record acc
<REDIS-URL> <MOUNTPOINT> juicefs _netdev[,<MOUNT-OPTIONS>] 0 0
```
- Please replace `<REDIS-URL>` with the actual redis database address in the format of `redis://<user>:<password>@<host>:<port>/<db>`, for example: `redis ://localhost:6379/1`.
- Please replace `<REDIS-URL>` with the actual Redis database address in the format of `redis://<user>:<password>@<host>:<port>/<db>`, for example: `redis ://localhost:6379/1`.
- Please replace `<MOUNTPOINT>` with the actual mount point of the file system, for example: `/jfs`.
- If necessary, please replace `[,<MOUNT-OPTIONS>]` with the actual [mount option](command_reference.md#juicefs-mount) to be set, and multiple options are separated by commas.
......@@ -203,4 +203,3 @@ $ sudo fusermount -u /mnt/jfs
- [JuiceFS on Windows](juicefs_on_windows.md)
- [JuiceFS on macOS](juicefs_on_macos.md)
......@@ -15,7 +15,7 @@ JuiceFS 是一款高性能 [POSIX](https://en.wikipedia.org/wiki/POSIX) 文件
5. **多端共享**:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据;
6. **强一致性**:确认的修改会在所有挂载了同一文件系统的服务器上立即可见,保证强一致性;
7. **强悍性能**:毫秒级的延迟,近乎无限的吞吐量(取决于对象存储规模),查看[性能测试结果](benchmark.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](../en/encrypt.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](encrypt.md)
9. **文件锁**:支持 BSD 锁(flock)及 POSIX 锁(fcntl);
10. **数据压缩**:支持使用 [LZ4](https://lz4.github.io/lz4)[Zstandard](https://facebook.github.io/zstd) 压缩数据,节省存储空间;
......
......@@ -16,7 +16,7 @@ JuiceFS 支持静态数据加密,即在上传到对象存储之前对数据进
JuiceFS 在客户端加密中采用了行业标准的加密方式(AES-GCM 和 RSA)。加密和解密是在 JuiceFS 客户端进行的。用户唯一需要做的是在 JuiceFS 挂载时提供一个私人密钥或密码,并像普通文件系统一样使用它。它对应用程序是完全透明的。
**注意**:在客户端缓存的数据是**不**加密的。不过,只有 root 用户或所有者可以访问这些数据。如果要把缓存的数据也加密,你可以把缓存目录放在一个加密的文件系统或块存储中。
> **注意**:在客户端缓存的数据是**不**加密的。不过,只有 root 用户或所有者可以访问这些数据。如果要把缓存的数据也加密,你可以把缓存目录放在一个加密的文件系统或块存储中。
### 加密和解密方法
......@@ -28,7 +28,7 @@ JuiceFS 在客户端加密中采用了行业标准的加密方式(AES-GCM 和
数据加密的详细过程如下:
- 在写入对象存储之前,数据块会使用 LZ4 或 ZStandard 进行压缩。
- 为每个块生成一个随机的256位对称密钥 `S` 和一个随机种子 `N`
- 为每个块生成一个随机的 256 位对称密钥 `S` 和一个随机种子 `N`
- 每个块使用 AES-GCM 对 `S``N` 进行加密。
- 对称密钥 `S` 使用 RSA 密钥 `M` 作为密码 `K` 进行加密。
- 加密后的数据与密码 `K` 和随机种子 `N` 组合成对象,然后写入对象存储。
......@@ -62,10 +62,9 @@ $ openssl genrsa -out my-priv-key.pem -aes256 2048
$ juicefs format --encrypt-rsa-key my-priv-key.pem REDIS-URI NAME
```
**注意**:如果私钥受密码保护,在执行 `juicefs mount` 时应使用 `JFS_RSA_PASSPHRASE` 来指定该密码。
> **注意**:如果私钥受密码保护,在执行 `juicefs mount` 时应使用 `JFS_RSA_PASSPHRASE` 来指定该密码。
### 性能
TLS、HTTPS 和 AES-256 在现代 CPU 中的实现非常高效。因此,启用加密功能对文件系统的性能影响并不大。RSA 算法相对较慢,特别是解密过程。建议在存储加密中使用2048位 RSA 密钥。使用4096位密钥可能会对读取性能产生重大影响。
TLS、HTTPS 和 AES-256 在现代 CPU 中的实现非常高效。因此,启用加密功能对文件系统的性能影响并不大。RSA 算法相对较慢,特别是解密过程。建议在存储加密中使用 2048 位 RSA 密钥。使用 4096 位密钥可能会对读取性能产生重大影响。
......@@ -13,7 +13,7 @@ JuiceFS 是一款高性能 [POSIX](https://en.wikipedia.org/wiki/POSIX) 文件
5. **多端共享**:同一文件系统可在上千台服务器同时挂载,高性能并发读写,共享数据;
6. **强一致性**:确认的修改会在所有挂载了同一文件系统的服务器上立即可见,保证强一致性;
7. **强悍性能**:毫秒级的延迟,近乎无限的吞吐量(取决于对象存储规模),查看[性能测试结果](benchmark.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](../en/encrypt.md)
8. **数据安全**:支持传输中加密(encryption in transit)以及静态加密(encryption at rest),[查看详情](encrypt.md)
9. **文件锁**:支持 BSD 锁(flock)及 POSIX 锁(fcntl);
10. **数据压缩**:支持使用 [LZ4](https://lz4.github.io/lz4)[Zstandard](https://facebook.github.io/zstd) 压缩数据,节省存储空间;
......@@ -40,4 +40,3 @@ JuiceFS 是一款高性能 [POSIX](https://en.wikipedia.org/wiki/POSIX) 文件
现在,你可以参照 [快速上手指南](quick_start_guide.md) 立即开始使用 JuiceFS!
如果你想了解 JuiceFS 工作原理,可以查看 [JuiceFS 的技术架构](architecture.md)[JuiceFS 如何存储文件](how_juicefs_store_files.md)
......@@ -69,7 +69,7 @@ $ sudo install juicefs /usr/local/bin
创建 JuiceFS 文件系统要使用 `format` 子命令,需要同时指定用来存储元数据的 Redis 数据库和用来存储实际数据的对象存储。
以下命令将创建一个名为 `pics` 的 JuiceFS 文件系统,使用 redis 中的 `1` 号数据库存储元数据,使用 MinIO 中创建的 `pics` 存储桶存储实际数据。
以下命令将创建一个名为 `pics` 的 JuiceFS 文件系统,使用 Redis 中的 `1` 号数据库存储元数据,使用 MinIO 中创建的 `pics` 存储桶存储实际数据。
```shell
$ juicefs format \
......@@ -142,7 +142,7 @@ $ sudo cp /usr/local/bin/juicefs /sbin/mount.juicefs
<REDIS-URL> <MOUNTPOINT> juicefs _netdev[,<MOUNT-OPTIONS>] 0 0
```
- 请将 `<REDIS-URL>` 替换成实际的 redis 数据库地址,格式为 `redis://<user>:<password>@<host>:<port>/<db>`,例如:`redis://localhost:6379/1`
- 请将 `<REDIS-URL>` 替换成实际的 Redis 数据库地址,格式为 `redis://<user>:<password>@<host>:<port>/<db>`,例如:`redis://localhost:6379/1`
- 请将 `<MOUNTPOINT>` 替换成文件系统实际的挂载点,例如:`/jfs`
- 如果需要,请将 `[,<MOUNT-OPTIONS>]` 替换为实际要设置的 [挂载选项](command_reference.md#juicefs-mount),多个选项之间用逗号分隔。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册