400-650-7353
您所在的位置:首页 > IT干货资料 > linux > 【Linux基础知识】CentOS7访问控制列表ACL与文件属性

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

  • 来源:
  • 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又可写入。

文章“【Linux基础知识】CentOS7访问控制列表ACL与文件属性”已帮助

更多内容

>>本文地址:https://www.ujiuye.com/zhuanye/2021/69421.html

THE END  

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

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME