如何在Linux下设置访问控制列表(ACL)来控制用户的权限
ACL被用来对文件和目录进行权限控制。它允许管理员为某个文件或目录单独设置授权,并限制不同用户或用户组对该文件或目录的权限。
以下是在Linux下设置ACL的步骤:
- 安装ACL软件包:如果你的系统还没有安装ACL软件包,则需要进行安装。对于Debian/Ubuntu系统,使用以下命令进行安装:
sudo apt-get install acl
- 检查是否挂载ACL:通过命令
mount
检查是否挂载了ACL选项。如果有,你将看到acl
的设定。如果没有,请编辑/etc/fstab文件并找到你的分区。在适当的选项中加入acl
:
UUID=XXXXX /mountpoint ext4 defaults,acl 0 2
如果是ext4文件系统,也可以使用以下命令手动挂载ACL选项:
sudo mount -o remount,acl /dev/sdXX
注意替换“/dev/sdXX”为你的分区的文件名。
- 设置ACL:
若要在文件中设置ACL,使用以下命令:
setfacl -m u:user:rwx filename
其中user
是你要授权的用户的名称,filename
是你要设置ACL的文件名。
若要删除ACL,请使用以下命令:
setfacl -x u:user filename
若要列出ACL,请使用以下命令:
getfacl filename
- 在目录中设置ACL:
若要在目录上设置ACL,请使用以下命令:
setfacl -d -m g:group:rwx directoryname
其中group
是你要授权的用户组的名称,directoryname
是你要设置ACL的目录名称。
若要应用ACL到目录中的所有文件和子目录,请使用以下命令:
setfacl -R -m g:group:rwx directoryname
其中-R
标志将ACL应用到所有文件和子目录中。
示例 1:
- 设置
/web/html
目录的权限,www-data
用户组可以读写该目录及其所有文件和子目录:
sudo setfacl -R -m g:www-data:rwX /web/html
其中,-R
参数表示将ACL应用到整个目录,包括子目录和文件。-m
参数指定了ACL修改操作,g:www-data
表示ACL应用到www-data
用户组,:rwX
表示用户组www-data
拥有读、写、执行目录权限。
示例 2:
- 取消
/web/html
目录内文件index.html
用户test1
的读权限:
setfacl -m u:test1:- /web/html/index.html
其中,-
表示删除该用户的权限。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Linux下设置访问控制列表(ACL)来控制用户的权限 - Python技术站