1、传统Linux文件系统权限的问题

传统Linux文件系统有三类用户:文件属主-u,组用户-g,其它用户-o,以及三种访问权限:读-r,写-w,执行或目录进入-x,但很多时候并不能满足对文件访问的细微控制,对组用户和其它用户的权限设置粒度比较粗。
例如,对于文件A,除了文件属主,想让10个用户能够访问该文件,其它用户无法访问该文件,那么方法如下:1) 将能访问文件A的10个用户加入A的组g,赋予A的组访问权限;2) A的其它用户无访问权限。
存在的问题是:在1)中,如果对10个组用户再细分,5个用户有rw权限,另外5个用户只有r权限,则无法做到,因为A的组用户只有一种权限。简而言之,在Linux中,一个文件或目录的访问权限最多分三种:属主,组,其它,不能满足多于3种的权限划分,这正是引入ACL的目的。

2、ACL

ACL 是 Access Control List 的缩写,主要的目的是在传统Linux文件系统权限基础上提供更细粒度的权限控制,可以针对单个用户、单个文件或目录进行 ,这对于需要比较复杂、特殊的权限设置是非常有用的。由於 ACL 是Unix-like 系统额外的支持项目,因此要使用 ACL必需要有文件系统的支持才行。 目前绝大部分的文件系统都有支援 ACL 的功能,包括 ReiserFS, EXT2/EXT3, JFS, XFS 等等。

3、启动ACL

[root@linux ~]# mount -o remount,acl /home
[root@linux ~]# mount | grep /home
/dev/hda5 on /home type ext3 (rw,acl)

或者编辑/etc/fstab
[root@linux ~]# vi /etc/fstab
/dev/hda5 /home ext3 defaults,acl 1 2

4、ACL设置

$ setfacl                           //设定某文件或目录的ACL
$ getfacl                           //取得某文件或目录的ACL设定值

建立用户 test对project目录的使用权限(需要有 w):
[cb@linux home]$ ls -ld project/
drwx------ 2 cb cb 4.0K 10月 3 18:32 project

[cb@linux home]$ setfacl -m u:test:rwx project

[cb@linux home]$ getfacl project
# file: project/
# owner: cb
# group: cb
user::rwx
user:test:rwx
group::---
mask::rwx
other::---

[cb@linux home]$ ls -ld project/
drwxrwx---+ 2 cb cb 4096 10月 3 18:32 project    //多了一个+ 的标志,具体的权限得用getfacl来看,ugo的设置与实际有误差

=-=-=-=-=
Powered by Blogilo

文件系统访问控制ACL设置的更多相关文章

  1. emqtt 试用(四)emq 的主题访问控制 acl.conf

    访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...

  2. emqtt emq 的主题访问控制 acl.conf

    访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...

  3. acl设置问题

    在学习nfs服务配置的时候用到了acl规则(服务配置文件权限设置可写,但是由于客户端映射,不能写入,所以要设置系统权限),但是遇到了一个小小的问题:一.当使用-x选项取消规则的时候,再次查看权限后面仍 ...

  4. Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...

  5. Vlan访问控制ACL

    Author:JinDate:2014-07-05 一.情况描述调整前TP-LINK上联光猫 WLAN PPPOE 拨号,LAN 192.168.1.1 DHCP功能 提供给目前在7楼的办公TP-LI ...

  6. IPFS搭建分布式文件系统 - 访问控制

    IPFS 一个内容可寻址.对等的超媒体分发协议. IPFS网络中的节点形成分布式文件系统. 为什么要用IPFS? “IPFS and the Blockchain are a perfect matc ...

  7. CentOS 7 使用 ACL 设置文件权限

    Linux  系统标准的 ugo/rwx 集合并不允许为不同的用户配置不同的权限,所以 ACL 便被引入了进来,为的是为文件和目录定义更加详细的访问权限,而不仅仅是这些特别指定的特定权限. ACL 可 ...

  8. 负载均衡服务之HAProxy访问控制ACL

    前文我们聊到了haproxy的错误页的配置,自定义日志的配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12797913.html:今天我们主要来看看hap ...

  9. linux访问控制列表 ACL实现文件权限设置

    ACL:Access Control List,实现灵活的文件权限管理 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限 CentOS7 默认创建的xfs和ext4文件系统具有ACL功能 A ...

随机推荐

  1. 1370 - Bi-shoe and Phi-shoe(LightOJ1370)(数论基础,欧拉函数)

    http://lightoj.com/volume_showproblem.php?problem=1370 欧拉函数: 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. φ(n) ...

  2. jackon - com.fasterxml.jackson.databind.exc.InvalidDefinitionException && UnrecognizedPropertyException: Unrecognized field 异常

    在用jackson解析json数据是碰到的问题 1.首先是InvalidDefinitionException 测试发现可能是目标类中无无参数构造方法导致异常. 添加无参构造方法后发现前一个异常解决但 ...

  3. TDBXJSONStream(BERLIN新增)的使用

    DELPHI 10.1 BERLIN新增TDBXJSONStream类,用于方便地将数据序列为JSON,和将JSON还原出来数据. DATASNAP远程方法也相应地增加了支持返回TDBXJSONStr ...

  4. Data obtained from ping: is it round trip or one way?

    I have 2 servers, each in two separate locations. I need to host an application on one, and the data ...

  5. react-router-redux

    reducer与按需加载组件的时候,一并加载对应的state,具体流程就不多说了,看代码! reducer import { combineReducers } from 'redux' import ...

  6. C++ std::tr1::shared_ptr使用说明

    1. 介绍 shared_ptr 是通过指针保持某个对象的共享拥有权的智能指针. 若干个 shared_ptr 对象能够拥有同一个对象:最后一个指向该对象的 shared_ptr 被销毁或重置时.该对 ...

  7. Redis管理各类型存储数据命令

    >>>字符串 1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值. 3 GETRANGE key start end 返回 key 中 ...

  8. Apache Flink 1.5.0 Release Announcement

    Apache Flink: Apache Flink 1.5.0 Release Announcement https://flink.apache.org/news/2018/05/25/relea ...

  9. 在Orchard CMS Theme 用代码定义布局Widgets

    因为公司业务需要,经过本人几个月尝试,使用Orchard CMS 开发一个简单的企业门户(地址是http://www.ubof.cn).在刚开始接触Orchard CMS,对于个性化的网页布局不知道怎 ...

  10. mongodb07---用户权限

    用户管理: 注意: 添加用户后,我们再次退出并登陆,发现依然可以直接读数据库? 原因: mongodb服务器启动时, 默认不是需要认证的. 要让用户生效, 需要启动服务器时,就指定 --auth 选项 ...