Operating system: CentOS 7 Test directory: /shares/project1/reports Test user: youcl Filesystem type: Ext4确保所有命令都以root用户身份执行,或者使用具有相同权限的 sudo命令 。 让我们从使用 mkdir命令创建名为
reports
的目录开始:
# mkdir -p /shares/project1/reports
使用ACL对目录上的用户授予读/写访问权限
要点 :要使用此方法,请确保您的Linux文件系统类型(例如Ext3和Ext4,NTFS,BTRFS)支持ACL。 首先, 检查系统上 当前的文件系统类型 ,以及内核是否支持ACL,如下所示:# df -T | awk '{print $1,$2,$NF}' | grep "^/dev" # grep -i acl /boot/config*从下面的截图中,文件系统类型是 Ext4 ,内核支持 POSIX ACL ,如 CONFIG_EXT4_FS_POSIX_ACL = y选项所示。
检查文件系统类型和内核ACL支持
# tune2fs -l /dev/sda1 | grep acl
检查分区ACL支持
# mount -o remount,acl / # tune2fs -o acl /dev/sda3现在,它通过运行以下命令为一个用户
youcl
分配一个读/写访问到特定目录的时间。
# getfacl /shares/project1/reports # Check the default ACL settings for the directory # setfacl -m user:youcl:rw /shares/project1/reports # Give rw access to user youcl # getfacl /shares/project1/reports # Check new ACL settings for the directory
使用ACL对目录进行读/写访问
youcl
现在对第二个
getfacl命令的输出具有对directory
/ shares / project1 / reports的读/写(rw)权限。 有关ACL列表的详细信息,请查看我们的以下指南。
现在让我们看看分配对目录的读/写访问的第二种方法。
使用组对目录上的用户授予读/写访问权限
1.如果用户已有默认用户组(通常与用户名相同),只需更改目录的组所有者。# chgrp youcl /shares/project1/reports或者,为多个用户(将被授予对特定目录的读/写权限)创建一个新组,如下所示。但是,这将 创建一个共享目录 :
# groupadd projects2.然后将用户
youcl
添加到组
projects
,如下所示:
# usermod -aG projects youcl # add user to projects # groups youcl # check users groups3.将目录的组所有者更改为项目:
# chgrp projects /shares/project1/reports4.现在为组成员设置读/写访问权限:
# chmod -R 0760 /shares/projects/reports # ls -l /shares/projects/ #check new permissions而已!在本教程中,我们向您展示了如何在Linux中为特定目录下的用户授予读/写访问权限。如果有任何问题,请通过下面的评论部分提出。