本文将介绍如何在文件系统下基于 POSIX 语义设置用户、用户组的访问权限。
前提条件
已通过 Turbo 协议挂载文件系统。具体操作,请参见 在 Linux 客户端上使用 Turbo 文件系统。
命令说明
| 命令 | 说明 |
|---|---|
| getfacl | 查看文件当前的 ACL。 |
| setfacl -m g:cfsgroup:w | 给用户组 cfsgroup 设置写权限。 |
| setfacl -m u:cfsuser:w | 给用户 cfsuser 设置写权限。 |
| setfacl -x g:cfsgroup | 删除用户组 players 的权限。 |
| getfacl file1 | setfacl --set-file=- file2 | 将文件 file1 的 ACL 复制到文件 file2 上。 |
| setfacl -b file1 | 删除所有扩展的 ACL 规则,基本的 ACL 规则(所有者,群组,其他)将被保留。 |
| setfacl -k file1 | 删除文件 file1 上的所有默认的规则。 |
| setfacl -R -m g:cfsgroup:rw dir | 对目录树 dir 下的文件和目录增加用户组 cfsgroup 读写的权限。 |
| setfacl -d -m g:cfsgroup:rw dir | 对用户组 cfsgroup 设置目录 dir 下新创建的文件和目录的读写权限。 |
示例
sudo useradd cfsuser #创建cfsuser用户
sudo useradd otheruser #创建otheruser用户
sudo groupadd cfsgroup #创建cfsgroup用户组
sudo usermod -g cfsgroup cfsuser #将cfsuser划分至cfsgroup下
sudo touch file1 #创建一个名为file1的文件
sudo setfacl -m g:cfsgroup:r-x file1 #授权cfsgroup用户组对 file1的读、执行权限
sudo setfacl -m u:otheruser:rwx file1 #授权otheruser用户对 file1的读写执行权限
说明:
setfacl 命令依赖 acl 库,如报错:
sudo: setfacl: command not found,请使用命令 sudo apt-get install acl安装 acl 库。