网络安全系列之三十九 在Linux中配置访问控制列表ACL
Linux系统中传统的权限设置方法比较简单,仅有3种身份、3种权限而已,通过配合chmod和chown等命令来对文件的权限或所有者进行设置。如果要进行比较复杂的权限设定,例如某个目录要开放给某个特定的使用者使用时,这些传统的方法就无法满足要求了。
例如对于/home/project目录,该目录的所有者是student用户,所属组是users组,预设权限是770。现在有个名为natasha的用户,属于natasha组,希望能够对/home/project目录具有读写执行权限;还有一个名为instructor的用户,属于instructor组,希望能够对/home/project目录具有读取和执行权限。
很明显,利用chmod或chown命令是无法完成这个要求的。因而,Linux系统提供了ACL(Access Control List)专门来完成这种细部权限设置。
1. 设置ACL
设置ACL使用的是setfacl命令,该命令格式如下:
setfacl [选项] 设定值 文件名 |
常用选项:
-m,设定一个ACL规则。
-x,取消一个ACL规则。
-b,取消所有的ACL规则。
例:设置natasha对/home/project目录具有rwx权限。
[root@localhost ~]# setfacl -m u:natasha:rwx /home/project/ [root@localhost ~]# ll -d /home/project/ drwxrwxrwx+ 2 student users 4096 12月 2 16:43 /home/project/ |
设置完ACL后,查看文件详细信息时在权限部分会多出一个“+”的标识,代表文件启用了ACL权限。
下面再设置instructor用户对/home/project目录具有r-x权限。
[root@localhost ~]# setfacl -m u:instructor:r-x /home/project/ |
2. 管理ACL
通过getfacl命令可以来查看ACL权限。
[root@localhost ~]# getfacl /home/project/ getfacl: Removing leading '/' from absolute path names # file: home/project/ # owner: student # group: users user::rwx user:instructor:r-x user:natasha:rwx group::rwx mask::rwx other::rwx |
通过“setfacl –m”命令可以来修改ACL。
例:将instructor用户的权限修改为rwx。
[root@localhost ~]# setfacl -m u:instructor:rwx /home/project/ |
通过“setfacl -x”命令可以从ACL中去除某个用户。
例:将instructor用户从ACL中去除。
[root@localhost ~]# setfacl -x u:instructor /home/project/ |
3. 启动ACL支持
ACL可以针对用户设置,也可以针对用户组设置。要使用ACL必须要有文件系统的支持,Linux中标准的EXT2/EXT3/EXT4文件系统都支持ACL功能。但是要注意,RHEL6中默认的文件系统支持ACL,如果是新挂载的分区,则不支持ACL应用,可以在挂载文件系统时使用“-o acl”选项启动ACL支持。
例:将/dev/sdb1分区挂载到/home目录,并启动ACL支持。文件系统挂载之后,通过mount命令确认ACL已启动。
[root@localhost ~]# mount -o acl /dev/sdb1 /home [root@localhost ~]# mount | grep home /dev/sdb1 on /home type ext4 (rw,acl) |
如果想要在系统启动时自动应用ACL功能,则需要修改/etc/fstab文件,添加以下行:
[root@localhost ~]# vim /etc/fstab /dev/sdb1 /home ext4 defaults,acl 0 0 |
4. 配置ACL时应注意的问题
ACL用于提供额外权限,主要用来对权限进行微调。在系统中设置权限时,主要还是应该依靠chmod、chown这些传统的方法,而不能以ACL为主,否则维护起来会比较吃力。
因而当在生产环境中设置权限时,建议先用chmod、chown设置总体权限,然后根据需要再用ACL设置细部权限。
本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1577458
网络安全系列之三十九 在Linux中配置访问控制列表ACL相关推荐
- 网络安全系列之四十六 在IIS6中配置目录安全性
Web站点默认是允许匿名访问的,某些特殊网站(或者虚拟目录)如果要求用户提供账号和密码才能访问,或者限定某些IP地址能(或不能)访问,那可以通过在Web站点属性的"目录安全性"选项 ...
- 《神探tcpdump第五招》-linux命令五分钟系列之三十九
== [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...
- Java云同桌学习系列(十九)——Linux系统
本博客java云同桌学习系列,旨在记录本人学习java的过程,并与大家分享,对于想学习java的同学,我希望这个系列能够鼓励大家一同与我学习java,成为"云同桌". 每月预计保持 ...
- 网络安全系列之五十二 组策略中的软件限制策略
在组策略编辑器中展开"计算机配置/Windows设置/安全设置/软件限制策略",通过设置软件限制策略,可以限制用户在计算机上使用某些未经许可的软件,从而提高安全性. 下面以禁用记事 ...
- 网络安全系列之三十五 缓冲区溢出
缓冲区溢出的大名可谓如雷贯耳,我们不必去探究缓冲区溢出的原理,只需知道他能做什么就可以了.如果能够成功地对远程计算机进行缓冲区溢出,那么就可以获得远程计算机的Shell,也就可以直接以管理员的身份在远 ...
- 网络安全系列-二十九: 读《透视APT 赛博空间的高级威胁》笔记
最近读了奇安信威胁情报中心 于2019年出版 的<透视APT 赛博空间的高级威胁>,针对APT终于有了一个清晰的理解. APT攻击是网络空间存在的威胁隐患,是全球各国面临的重要风险. AP ...
- ReactNative系列之三十九ReactNative支持点九图
请先参考下文章: https://www.jianshu.com/p/1f3ab1caee97 React Native显示点9图片 https://github.com/rusfearuth/r ...
- 微服务接入oauth2_SpringCloud微服务实战系列(十九)Ouath2在真实场景中的应用之客户端接入(第一种写法)...
SpringCloud微服务实战系列(十九)Ouath2在真实场景中的应用之客户端接入(第一种写法) 一.概述 在<SpringCloud微服务实战系列(十七)Ouath2在真实场景中的应用之资 ...
- 【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?
系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...
最新文章
- 30分钟入门Java8之默认方法和静态接口方法
- Android之assets资源
- canvas的简单实例集合
- 【C++编程题2】字符串插入空格
- IIS 添加mime 支持 apk,exe,.woff,IIS MIME设置 ,Android apk下载的MIME 设置 苹果ISO .ipa下载mime 设置...
- 数据库索引如何工作? [关闭]
- 白板推导系列Pytorch-隐马尔可夫模型-学习问题
- PropertyChangeSupport 监听器模式的应用
- CIDetector 边缘识别
- 非科班生的Android秋招求职经历
- 区块链学习6:Mist合约部署与删除
- 计算机毕业设计Java银行贷款管理系统(系统+程序+mysql数据库+Lw文档)
- 支付宝微信刷脸支付开始在全国推广
- SAP_BTE增强有两种,类似于校验和替代
- 每月两个小小项目——CSS3简易照片墙
- 「杂谈」最有可能成为第五个一线城市,苏州 or 杭州?
- c语言错误 243什么意思,c语言编译后[Error] stray apos;\243apos; in program
- android wifi p2p框架,7.2.1 P2P架构
- 团队负责人(team leader)职责
- dra7xx cpu frequency change