传统权限模型缺点:

传统的UGO权限模型无法应对负责的权限设置要求,如对于一个文件只能设置一个组,并且对该组进行权限控制,但是如果该文件有多个组合会对其进行访问,并且都要要求权限限制时,传统的UGO模型就无法满足需求了。

这时候就需要采用ACL权限来管理了

ACL(Access Control List)是一种高级权限机制,允许我们对一个文件或文件夹进行灵活的、复杂的权限设置

ACL需要在挂在文件的时候打开ACL功能:

mount -o acl /dev/sda5 /mnt

ACL允许针对不同用户、不同组对一个目标文件、文件夹进行权限设置,不受UGO模型限制

查看一个文件、文件夹的ACL设置

getfacl linuxcast.net

针对一个用户对文件进行ACL设置:

setfacl -m u:nash_su:rwx linuxcast.net

m是modify的意思,u是user,nash_su是用户名,rwx是赋予nash_su对linuxcast.net文件的权限

针对一个组对文件进行ACL设置

setfacl -m g:training:rw linuxcast.net

m是group,training是group的名字,rw是training组对linuxcast.net的权限

删除一个ACL设置:

setfacl -x u:nash_su linuxcast.net

这时候用户名后面就不需要带权限,直接删除就OK

第一步,新建一个统一的文件夹

mkdir linuxcast.net

然后在其下面新建三个子文件夹,文件夹名分别为:training , market , manage

mkdir training
mkdir market
mkdir manage

这时的默认权限为

drwxr-xr-x.  root root  Sep  : manage
drwxr-xr-x. root root Sep : market
drwxr-xr-x. root root Sep : training

这时,使用以下命令修改training文件夹所在的组,其它两个组类似

chgrp training training

这时权限为:

drwxr-xr-x.  root manage    Sep  : manage
drwxr-xr-x. root market Sep : market
drwxr-xr-x. root training Sep : training

建好文件后,因为其它组的用户不能访问本组的用户的文件,所以使用

chmod o-rwx training

每个组的other的权限减去rwx,这时其他组就不能再访问本组的权限了。

这时候新建的用户目录的组应该继承其部门的组,所以使用

chmod g+s training

g是组的意思,s是继承的意思,也就是training下面的组就都是trining组了,修改后信息如下

drwxr-s---.  root manage    Sep  : manage
drwxr-s---. root market Sep : market
drwxr-s---. root training Sep : training

新建用户的权限为:

drwxr-sr-x.  root training  Sep  : bob
drwxr-sr-x. root training Sep : nash_su

再分别使用

chmod nash_su nash_su

把该文件的默认用户名root修改为该用户名

drwxr-sr-x.  bob     training  Sep  : bob
drwxr-sr-x. nash_su training Sep : nash_su

现在就差最后一部了,传统的UGO权限这时已经无法在给boss查看和执行的权限了,这时候,就可以用到 setfacl 了,使用命令

setfacl -m g:boss:rx training

m是modify的意思,g是group的意思,g后面接组的名字,组名后再接权限,这样就实现training部门,boss就有查看和执行该文件下面所有的权限了

使用 getfacl training 查看该文件下的权限信息

# file: training
# owner: root
# group: training
# flags: -s-
user::rwx
group::r-x
group:boss:r-x
mask::r-x
other::---

这时候的组中就有了boss组的查看和执行的权限了。

Linux高级权限管理 - ACL的更多相关文章

  1. chmod g+s 、chmod o+t 、chmod u+s:Linux高级权限管理

    关于linux下权限操作chmod的一些说明!比rxw高级内容! 转载自http://blog.chinaunix.net/uid-26642180-id-3378119.html Set uid, ...

  2. Linux高级权限管理

    传统的UGO(rwx-wx-wx)权限模型,无法解决当多个组需要对一个文件执行某些权限的问题. ACL :访问控制列表access control list一种高级的权限机制,允许我们对文件或者文件夹 ...

  3. linux的用户扩充权限管理acl和用户使用系统资源的限制

    用户扩充权限管理 acl 1.扩充权限的方式 文件扩充权限 ACL 磁盘配额 2.文件扩充权限 1.安全位 安全位   ---set位    SUID  SGID   set仅可以加给 u.g, 如: ...

  4. Linux中权限控制ACL命令

    很多小伙伴觉得,Linux的权限管理命令不就是chown和chmod命令吗,什么时候有了ACL了? 什么是ACLACL是访问控制列表(Access Control List)的缩写,主要的目的是在提供 ...

  5. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  6. 权限管理——ACL权限

    权限管理 ACL权限 用于解决用户对文件身份不足 命令:[root@localhost ~]#dumpe2fs -h /dev/sd3 作用:查询指定分区详细的文件系统给信息 选项 -h:仅显示超级块 ...

  7. Linux目录权限管理

    Linux目录权限管理   实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...

  8. Linux权限管理 ACL权限

    ACL权限简介 在普通权限中,用户对文件只有三种身份ugo,分别为属主(u).属组(g)和其他人(o):每种用户身份拥有读(read).写(write)和执行(execute)三种权限.但是在实际工作 ...

  9. linux特殊权限(acl)

    建立用户目录       创建目录/oldboy/tech./oldboy/edu,分别用于不同项目组添加组账号       添加组账号tech.edu,GID分别设置为1001.1002      ...

随机推荐

  1. iOS仿网易新闻栏目拖动重排添加删除效果

    仿网易新闻栏目选择页面的基本效果,今天抽了点时间教大家如何实现UICollectionView拖动的效果! 其实实现起来并不复杂,这里只是基本的功能,没有实现细节上的修改,连UI都是丑丑的样子,随手画 ...

  2. 记录一次项目中使用memcatch添加端口以及自动运行

    具体原因:多个项目同时使用一个memcatch服务情况需要分别为项目添加端口,如果只有一个项目使用则不需要去修改端口(memcatch有默认端口),当然已可以去修改默认端口. 下面我记录下我自己的使用 ...

  3. PartialViewResult不鸟_ViewStart.cshtml

    概述 在ASP.NET MVC中,对于Action中得到的ActionResult如果是一个ViewResult对象,那么在进行View呈现时,则会先执行_ViewStart.cshtml,然后再去执 ...

  4. 程序员遇到BUG的解释

    开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定.如何进行修复bug的过程,是值得我们好好推敲的. 我想分享 ...

  5. 视觉中的深度学习方法CVPR 2012 Tutorial Deep Learning Methods for Vision

    Deep Learning Methods for Vision CVPR 2012 Tutorial  9:00am-5:30pm, Sunday June 17th, Ballroom D (Fu ...

  6. Unity中那些事半功倍的好插件

    Unity开发最好的地方就是有各种强大的插件,有哪些插件让大家事半功倍,稳定强大 值得推荐学习和入手呢?Unity5.0之后,制作UI 以及UI的动画,UI特效,大家一般都使用什么插件?或者说有什么好 ...

  7. 用Unity开发HTC VIVE——手柄控制篇

    写这篇文章的原因主要是因为现在虚拟现实非常的火爆但目前主流的虚拟现实设备(HTC VIVE)的教程却少的可怜,这个我深有体会.所以,我想将我平时开发中遇到的问题以及解决方法记录下来,分享给大家,若其中 ...

  8. http://www.miniui.com/demo/#src=datagrid/celledit.html

    http://www.miniui.com/demo/#src=datagrid/celledit.html   jQuery MiniUI Demo

  9. Android Studio 入门指南

    转载: 原文链接:http://www.codeceo.com/article/android-studio-guide.html 写在前面 作为一个Android 开发者,你应该很了解Android ...

  10. 通过setDB2Client*来方便的使用TRACE调优jdbc程序

    一般来说通过TRACE的report来分析DDF的性能问题的话,基本对DBA都是噩梦一样.因为所有的Thread都是通过DDF一个类型的Thread,所以不管你怎么分类,看Accounting rep ...