【Linux基础知识】CentOS7访问控制列表ACL与文件属性

发布 : Linux培训      来源:

2021-07-26 13:55:16

1. ACL访问控制列表的功能

早期Linux系统的权限控制主要依赖于UGO (user, group, others) 模型,然而这种权限控制由于灵活度不高具有一定的局限性,由于存在业务需求,为了实现更加灵活和精确的权限控制,后续开源组织推出了ACL(Access Control List)权限控制模块作为传统UGO模型的补充。

ACL的功能是给文件设置特权用户,即允许特定用户访问。

例如,f1文件权限644,属主root,属组root,则用户zhang无权写入,可给zhang设定特权,仅允许zhang写入。若使用o+w的操作,则不仅是用户zhang,其他用户也具备了写入权限。为了满足这样的业务需求,我们可以使用ACL提供的相关命令来实现。

2. ACL访问控制列表的常用命令

设置ACL命令的常用方式如下。

①getfacl f1:查看文件f1的ACL信息。

②setfacl -m u:zhang:rw f1:针对文件f1,f1文件的所属者和所属组均为root,普通用户zhang没有w权限,可以用setfacl给单独普通用户zhang添加文件f1的rw权限,让用户zhang也能像用户root一样读写f1文件,这个过程称为设置用户zhang的ACL。setfacl命令的-m选项表示设置状态为“修改”,u:zhang:rw表示设置用户zhang的ACL为rw,如下面操作所示,用户zhang对f1有rw权限,可尝试切换到zhang用户并编辑f1文件加以验证。

[root@jump ~]# cd /mnt
[root@jump mnt]# echo aaaaaa > f1
[root@jump mnt]# getfacl f1
# file: f1
# owner: zhang
# group: zhang
user::rw-
group::rw-
other::r--

[root@jump mnt]# setfacl -m u:zhang:rw f1
[root@jump mnt]# getfacl f1
# file: f1
# owner: zhang
# group: zhang
user::rw-
user:zhang:rw-
group::rw-
mask::rw-
other::r--

[root@jump mnt]# su - zhang
[zhang@jump ~]$ cd /mnt
[zhang@jump mnt]$ ls -l f1
-rw-rw-r--+ 1 zhang zhang 7 Feb 26 15:42 f1
[zhang@jump mnt]$ echo bbbbbb > f1
[zhang@jump mnt]$ cat f1
bbbbbb

④setfacl -x u:zhang f1:撤销单个ACL。

⑤setfacl -b f1:撤销文件的所有ACL。

【Linux基础知识】CentOS7访问控制列表ACL与文件属性

3. CentOS7文件属性设置

属性,即文件所具有的某些特性,可使用lsattr命令查看,举例如下。

lsattr -aR /root:查看/root下的文件及目录权限。-a用于显示指定目录下的文件及目录的属性,-R用于递归显示,即查看/root下的所有文件包括子目录文件的文件属性。

文件的常用属性如下表所示。

可以用chattr命令,使用+、-号来给文件增加或删除属性,如下操作所示。

[root@jump ~]# cd /mnt
[root@jump mnt]# lsattr -aR f1
---------------- f1
[root@jump mnt]# echo bbbbbb >> f1
[root@jump mnt]# chattr +i f1
[root@jump mnt]# lsattr -aR f1
----i----------- f1
[root@jump mnt]# echo cccccc >> f1
-bash: f1: Permission denied
[root@jump mnt]# chattr -i f1
[root@jump mnt]# lsattr -aR f1
---------------- f1
[root@jump mnt]# echo cccccc >> f1
[root@jump mnt]# cat f1
bbbbbb
bbbbbb
cccccc

可知在给f1增加i属性前,f1可写入,给f1增加了i属性后,f1处于只读状态,可使用lsattr命令查看,但不可再写入,之后去除i属性,f1又可写入。

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部