Linux高级权限管理 - ACL

传统权限模型缺点:

传统的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. 2 root root 4096 Sep 22 05:54 manage
drwxr-xr-x. 2 root root 4096 Sep 22 05:54 market
drwxr-xr-x. 2 root root 4096 Sep 22 05:54 training

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

chgrp training training

这时权限为:

drwxr-xr-x. 2 root manage   4096 Sep 22 05:54 manage
drwxr-xr-x. 2 root market   4096 Sep 22 05:54 market
drwxr-xr-x. 2 root training 4096 Sep 22 05:54 training

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

chmod o-rwx training

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

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

chmod g+s training

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

drwxr-s---. 2 root manage   4096 Sep 22 04:49 manage
drwxr-s---. 2 root market   4096 Sep 22 04:49 market
drwxr-s---. 2 root training 4096 Sep 22 04:48 training

新建用户的权限为:

drwxr-sr-x. 2 root training 4096 Sep 22 04:55 bob
drwxr-sr-x. 2 root training 4096 Sep 22 04:55 nash_su

再分别使用

chmod nash_su nash_su

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

drwxr-sr-x. 2 bob     training 4096 Sep 22 04:55 bob
drwxr-sr-x. 2 nash_su training 4096 Sep 22 04:55 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组的查看和执行的权限了。

时间: 2024-10-14 10:46:13

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

linux高级权限管理ACL

传统的UGO仅能对单个文件加入单个组 改进:单个文件设置多个组并且设置权限限制 ACL :高级权限机制 允许对不同用户.不同组对一个目标文件进行权限设置 mount -o acl /dev/sda2 /mnt 参数o 指定 acl 表示打开这个功能,也就是在挂载的时候我们做这些事情 查看ACL设置 getfacl filename 设置用户ACL setfacl -m u:username:rwx filename 注意设置完以后 我们查看一下 设置组的权限 setfacl -m g:group

权限管理-ACL

权限管理-ACL 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ACL权限简介与开启 1.ACL权限简介 比如在根下有一个目录("/yinzhengjie"),这个目录的所有者和所属组都是root,查看其权限是770,这意味着,只有root用户或是在root组里面的用户才能操作这个文件.如果有一个人不是root又不是root这个组里面的用户,但是就是有一个需求想要看"/yinzhengjie"这个目录下的内容该如何呢? Linux在这一点的处

Linux文件权限;ACL;Setuid、Setgid、Stick bit特殊权限

相关学习资料 http://blog.sina.com.cn/s/blog_4e2e6d6a0100g47o.html http://blog.csdn.net/aegoose/article/details/25439649 目录 1. Linux文件系统权限 2. Linux目录文件权限的安全配置 1. Linux文件系统权限 文件与(或)目录是文件系统的具体表现形式,在Linux系统管理部分,文件与目录管理映射了Linux文件系统管理策略的重要方面 0x1: 文件系统的默认权限(umask

Linux的权限管理:实现资源的分派

Linux的权限管理:实现资源的分派 访问者分类 owner:所有者 group:所属组 other:其他人 每个文件都对访问者定义了一种权限 权限分类 对于文件来说 r:读权限 w:写权限 x:执行权限对于目录来说 r:可以查看目录中的文件列表 w:可以在目录中创建文件 x:可以进入该目录权限对应的数字表示方式 r:4 w:2 x:1 修改权限 chmod命令: 修改权限的三种方式: 数字格式 chmod 640 文件或目录 :对应的权限 rw-r----- 直接指明权限chmod (u,g,

linux的权限管理

linux的权限管理命令主要有chown,chgrp,chmod. linux权限 linux的权限有:r,w,x. 对于文件而言:r表示可读,即可以用cat等命令查看:w表示可写,可以编辑或者删除此文件:x,表示可执行,可以再命令提示符下提交给内核执行(linux创建文件默认是不具有执行权限的). 对于目录而言:r表示可对此目录执行ls列出 内部的所有文件:w表示可以在此目录创建文件:x,表示可以cd到此目录,并且使用ls -l列出详细信息(linux目录一般都有x). linux的特殊权限有

linux学习随笔——linux文件权限管理和网络配置

一.linux文件权限管理 查看某个文件的权限命令:ls -l linux文件权限有4种:读(r).写(w).执行(x)和无权限(-) 一般用10个字符表示其权限,按照(1-3-3-3)来分组划分 1位置 表示文件类型 "-"表示文件,"d"表示目录 2-4位 表示用户权限(u) 5-7位 表示组权限(g) 8-10  表示其他权限(o) 通常用chmod来修改权限:chmod     u+r 目标文件 也可以用数字来表示权限 r=4 w=2 x=1 chown命令

Linux目录权限管理

权限介绍 在linux文件系统中,为系统中的文件(或目录)赋予了两个属性:访问权限和文件所有者,简称为"权限"和"归属".其中,访问权限包括读取.写入.可执行三种基本类型,归属包括属主(拥有改文件的用户账户).属组(拥有改文件的组账号). 使用带"-l"选项的ls命令时,将以长格式显示出文件或目录的详细信息,其中包括了该文件的权限和归属等参数. 第一个字符:表示该文件的类型,可以是d(目录).b(块设备文件).c(字符设备文件). "-

Linux文件权限管理

一.设置文件所属的用户以及所属的组(chown,chgrp) chgrp用来更改文件的组拥有者,其一般格式为: chgrp [option] group file (1)把文件test的组拥有者改为zfs: chgrp zfs test (2)把test及其子目录下的所有文件的组拥有者改为zfs: chgrp -R zfs test chown用来更改文件所有者与组拥有者,其一般格式为: chown [option] owner[:group] file (1)将test及其子目录下的所有文件的

Linux [拓展权限管理]

linux拥有3个特殊的拓展权限管理参数:   对文件影响 对目录影响 suid      以文件所有者的权限运行 Nothing sgid       以文件所属组的权限运行 目录中的文件继承目录的组 sticky Nothing 对于组有w权限的用户,只能在目录中创建或者修改自己拥有的文件(所属user为自己),但是不能修改或者删除其他用户的文件(虽然同组,并且组具有w权限) suid例子: /etc/password sgid, sticky例子: groupadd testgroup u