Linux的权限访问控制ACL管理

访问控制列表((ACL)是一种在Linux中分配微调权限的方法,除了使用chmod命令。当使用chmod命令时,只能为一个全部者和一个组分配文件或目录的权限。若是多个用户须要访问咱们须要将它们放在一个组中的资源,而后为该组提供必要的权限。可是在Linux中使用文件ACL,咱们能够为文件上的每一个用户和组分配细粒度的权限,甚至拒绝访问特定用户若是文件具备世界权限。本文关于Linux文件ACL的教程将解释命令getfacl和setfacl的用法。linux

首先让咱们了解文件和目录的每一个权限的目的web

文件 -shell

r(读取) - 能够查看文件的内容
w(写入) - 能够编辑文件并插入新内容
x(执行) - 能够执行文件。此权限分配给shell脚本和CGI脚本。操作系统

目录 -翻译

r(读取) - 可使用“ls”命令查看目录的内容
w(写入) - 能够在目录中建立新文件,能够删除现有文件
x(执行) - 具备此权限的用户能够更改目录(cd)进入这个目录code

若是getfacl和setfacl 找不到命令错误,则表示未安装acl软件包,所以请根据您的操做系统使用yum或apt-get来安装软件包教程

# ‘#’表示root权限下,若是不是root权限 下面命令前请加上 sudo 
# yum install acl
# apt-get install acl

要查看文件/目录的访问控制列表,请使用getfacl命令递归

getfacl /home/file1
# file: home/file1
# owner: root
# group: root
user::rw-
user:root:rw-
group::r--
mask::rw-
other::r--

在使用setfacl命令以前,必须在文件系统上启用acl,不然您将收到如下错误。资源

setfacl: /path/to/file: Operation not supported

所以必须编辑/etc/fstab文件,而且必须在单词“defaults”附近添加单词acl,示例fstab条目以下所示get

/dev/sda3          /        ext3          defaults,acl         0 0

要设置文件/目录的ACL,请使用setfacl命令

setfacl -m u:username:rw /etc/fstab

在此命令中,“u”表示用户,后跟用户名和“rw”表示读写权限。为了给予全部权限,使用“rwx” 拒绝全部权限使用减号( - )。例如,即便文件具备777权限,也要拒绝对/ path / to / file上的user1的全部权限

setfacl -m:user1:- /path/to/file

要授予全部权限的组

setfacl -m g:groupname:rwx /path/to/filename

要以递归方式将ACL设置为目录中的全部文件,请使用-R选项

setfacl -R -m u:username:rwx /path/to/directory

要删除条目从访问列表

setfacl -x u:username /path/to/file

翻译来源:https://websistent.com/linux-...

相关文章
相关标签/搜索