-
Notifications
You must be signed in to change notification settings - Fork 987
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: jiefenghuang <[email protected]>
- Loading branch information
1 parent
0aa7ed5
commit 801c181
Showing
8 changed files
with
106 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# POSIX ACL | ||
|
||
Version 1.2 supports POSIX ACL. For detailed rules, please refer to: | ||
|
||
- [POSIX Access Control Lists on Linux](https://www.usenix.org/legacy/publications/library/proceedings/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher_html/main.html) | ||
- [setfacl](https://linux.die.net/man/1/setfacl) | ||
|
||
## Usage | ||
|
||
<!-- markdownlint-disable MD044 enhanced-proper-names --> | ||
|
||
Currently, once ACL is enabled, it cannot be disabled. | ||
Therefore, the --enable-acl flag is associated with the volume. | ||
|
||
### Enable ACL for new volumes | ||
|
||
```shell | ||
juicefs format sqlite3://myjfs.db myjfs --enable-acl | ||
``` | ||
|
||
### Enable ACl for existing volumes | ||
|
||
- Upgrade all old client to v1.2 and remount it. | ||
- Use the following command with v1.2 client to change the volume configuration. | ||
|
||
```shell | ||
juicefs config sqlite3://myjfs.db --enable-acl | ||
``` | ||
|
||
<!-- markdownlint-enable MD044 enhanced-proper-names --> | ||
|
||
## Compatibility | ||
|
||
- New client versions are compatible with old volume versions. | ||
- Old client versions are compatible with new volume versions (without ACL enabled). | ||
|
||
:::caution Note | ||
If ACL is enabled, it is recommended that all clients to be upgraded. | ||
If an old client mounts a new volume (without ACL enabled), | ||
and ACL is subsequently enabled on the volume, | ||
operations by the old client may impact the correctness of ACL. | ||
::: | ||
|
||
## Others | ||
|
||
- Enabling ACL increases the minimum client version requirement to v1.2. | ||
- Enabling ACL may have additional performance implications. | ||
For scenarios with infrequent ACL changes, | ||
the impact is minimal with memory cache optimization. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- | ||
sidebar_position: 3 | ||
--- | ||
# POSIX ACL | ||
|
||
1.2 版本支持 POSIX ACL, 详细规则参考 | ||
|
||
- [POSIX Access Control Lists on Linux](https://www.usenix.org/legacy/publications/library/proceedings/usenix03/tech/freenix03/full_papers/gruenbacher/gruenbacher_html/main.html) | ||
- [setfacl](https://linux.die.net/man/1/setfacl) | ||
|
||
## 使用 | ||
|
||
<!-- markdownlint-disable MD044 enhanced-proper-names --> | ||
|
||
目前 ACL 开启后暂不支持取消,所以--enable-acl flag 与卷关联。 | ||
|
||
### 新卷创建启用 ACL | ||
|
||
```shell | ||
juicefs format sqlite3://myjfs.db myjfs --enable-acl | ||
``` | ||
|
||
### 已有卷启用 ACL | ||
|
||
- 所有旧客户端升级到 v1.2, 并且重新 mount 卷 | ||
- 使用 v1.2 版本客户端执行下面指令进行配置 | ||
|
||
```shell | ||
juicefs config sqlite3://myjfs.db --enable-acl | ||
``` | ||
|
||
<!-- markdownlint-enable MD044 enhanced-proper-names --> | ||
|
||
## 兼容 | ||
|
||
- 新版本客户端兼容老版本卷 | ||
- 老版本客户端兼容 (不开启 ACL 的) 新版本卷 | ||
:::caution 提示 | ||
如果启用 ACL 功能,建议所有客户端都升级。老版本客户端挂载了新卷 (没有开启 ACL), 后续如果卷开启 ACL, 老版本客户端的操作会影响 ACL 的正确性 | ||
::: | ||
|
||
## 其他 | ||
|
||
- 开启 ACL 后,客户端版本要求会提升到 v1.2 | ||
- 开启 ACL 会有额外的性能影响,对于 ACL 变动不频繁的场景,有内存 cache 优化影响不大 |