用户权限管理

最近更新时间:2024-05-29 09:54:21

我的收藏
本文将介绍如何在文件系统下基于 POSIX 语义设置用户、用户组的访问权限,适用于通用标准型(NFS)、通用性能型(NFS)、Turbo 标准型、Turbo 性能型。

前提条件

已通过 Turbo 协议或 NFS V3 挂载文件系统。具体操作,请参见 在 Linux 客户端上使用 CFS Turbo 文件系统在 Linux 客户端上使用 CFS 文件系统

命令说明

命令
说明
getfacl <filename>
查看文件当前的 ACL。
setfacl -m g:cfsgroup:w <filename>
给用户组 cfsgroup 设置写权限。
setfacl -m u:cfsuser:w <filename>
给用户 cfsuser 设置写权限。
setfacl -x g:cfsgroup <filename>
删除用户组 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 库。