linux acl

某些系统账号希望对某一些文件有管理权限,有三种方法:

1 加入属主所在的同一个组中,这等于扩大了访问其他文件的权限了。

2 加入other中,这样权限放开的更大了。

3 给文件的sudo权限。

4 采用acl策略。

前三种方法都有自己的缺点,最终考虑使用acl。

所谓ACL,就是Access Control List,一个文件/目录的访问控制列表,可以针对任意指定的用户/组分配RWX权限。此功能

需要内核的支持,在linux 2.6以后默认加入内核中。

acl由一系列的访问控制权限组成,主要的有如下:

ACL_USER_OBJ: 相当于Linux里file_owner的权限

ACL_USER: 定义了额外的用户可以对此文件拥有的权限

ACL_GROUP_OBJ: 相当于Linux里group的权限

ACL_GROUP: 定义了额外的组可以对此文件拥有的权限

ACL_MASK: 定义了ACL_USER, ACL_GROUP_OBJ和ACL_GROUP的最大权限

ACL_OTHER: 相当于Linux里other的权限

查看内核版本 uname -a

查看是否安装acl  dumpe2fs |grep "Default mount iptions"

在设置acl规则前我们先了解一下设置acl常用的选项:

-b,--remove-all

删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。

-k,--remove-default

删除缺省的acl规则。如果没有缺省规则,将不提示。

-n,--no-mask

不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定。

--mask

重新计算有效权限,即使ACL mask被明确指定。

-d,--default

设定默认的acl规则。

--restore=file

从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除--test以外的任何参数一同执行。

--test

测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出。

-R,--recursive

递归的对所有文件及目录进行操作。

-P,--physical

跳过所有符号链接,包括符号链接文件。

-m -x -M -X

-m -x 是在设置acl所需要定义的选项,-m 表示设置acl ,-x 表示删除acl规则

-M -X 则可以在文件中读入acl规则,使相应的规则生效

用cp来复制文件的时候我们现在可以加上-p选项.这样在拷贝文件的时候也将拷贝文件的ACL属性.对于不能拷贝的ACL属性将给出警告

mv命令将会默认地移动文件的ACL属性. 同样如果操作不允许的情况下会给出警告

开始设置规则:

以root 用户建立一个文件a.txt,设置权限只有root可读

通过acl,给niu用户增加可读权限

设置acl之前:

设置acl:此时 ls -l 后面会多出个 + 号

设置acl之后:niu 用户可以读取a.txt的内容

在acl的mask不存在的情况下,权限位的第二组才表示组的权限,如果acl中存在mask,则第二组权限位代表mask值,mask规定了ACL_USER, ACL_GROUP和ACL_GROUP_OBJ的最大值,在设置的权限相冲突的情况下以设置的mask为主

例如: 设置acl 用户niu 对a.txt 有rw权限,设置mask 位r 。结果应该是用户牛对a.txt只有读权限

验证:只可读不可写

把mask改为rw,结果应该是用户niu 具有读写权限

删除acl,也可以从文件中恢复文件原有的acl规则,如下:先保存规则到一个文件中

恢复acl

linux acl,布布扣,bubuko.com

时间: 2024-12-06 07:27:50

linux acl的相关文章

Linux ACL权限规划:getfacl,setfacl使用

转载  来源:Linux社区  作者:guodong810 ACL的使用 ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助.如,某一个文件,不让单一的某个用户访问. ACL使用两个命令来对其进行控制    getfacl:取得某个文件/目录的ACL设置项目    setfacl

linux ACL权限的使用

一.ACL使用介绍 ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助.如,某一个文件,不让单一的某个用户访问. 二.getfacl.setfacl两个命令的介绍和常用选项 1.ACL使用两个命令来对其进行控制 getfacl:取得某个文件/目录的ACL设置项目 setfacl:

LINUX ACL访问控制列表,SELINUX安全性基本总结

10.访问控制列表(ACL) 标准的linux文件权限可以满足绝大多数情况的要求,但它也有局限.限制访问文件的权限仅限授予文件的所有者,单组成员或其他任何人,进程可能不适合成为文件所属组成员,授予所有人权限是不现实的做法. ACL允许向文件分配细化权限,除标准文件所有者组所有者和其他文件权限外,还可以向指定用户或指定组,以及UID及GUID确定的用户和组授予权限,这些权限均应用相同的权限标志r读取w写入x执行. 文件所有者可以在单个文件或目录上使用ACL,新文件和子目录可以从父级默认ACL中继承

Linux ACL管理详解

转自: http://linuxguest.blog.51cto.com/195664/124107 1. 为什么要使用ACL先让我们来简单地复习一下Linux的file permission.在linux下,对一个文件(或者资源)可以进行操作的对象被分为三类: file owner(文件的拥有者), group(组,注意不一定是文件拥有者所在的组), other (其他)而对于每一类别又分别定义了read, write and execute/search permission (这里不讨论S

linux acl访问控制列表系统整理

acl ######文件的访问控制(acl)#######################################*********acl定义:***********定义:指定特殊用户对某些文件有特殊权限-rw-r--r--+ 1 root root 0 Jul 18 14:02 file1  此处+表示开启了表格,当此处有+时,文件的普通权限失效,需要getfacl查看ugo的权限 getfacl file1 # file: file1              #文件名# owner

linux acl 一些选项的解释

1,有些朋友经常问,setfacl -X 或者 -M 是怎么用的一个用法,其实和-m , -x 是一个用法,系统文档一般使用,-m , -x 做样例解释,对文件目录添加扩展权限,一般很少-X ,-M去配置文件acl条目,可能对一些用心的初学者朋友,会有点捉急. 文档里面的解释是: The -m (--modify) and -M (--modify-file) options modify the ACL of a file or directory The  -x  (--remove)  a

Linux acl及用户终端命令

FACL:Filesystem Access Control List -- 文件系统访问控制列表 利用文件扩展属性保存额外访问控制权限 setfacl:设置文件扩展权限 -m:设定 u:UID:perm g:GID:perm example:setfacl -m g:nichol:rw inittab d:u:UID:perm(目录) d:g:GID:perm(目录) -x:取消 u:UID g:GID example:setfacl -x u:nichol inittab -n:不重新计算有

Linux ACL权限

01. 查看分区ACKL是否支持 =>  dumpe2fs -h /dev/sda3 dumpe2fs命令是查询指定分区详细文件系统信息的命令 -h:近显示超级块中信息,而不显示磁盘块组的详细信息 df  -h:查看当前系统分区 02.临时开启分区ACL权限  =>  mount  -o remount,acl/ 03.永久开启分区ACL权限  =>  vim  /etc/fstab UUID=c59976fa-8607-46f2-9cfb-b065731a834c / ext4 def

第七章 Linux文件和目录相关的知识 作业题

1. rmdir -p  用来删除一串目录,比如 rmdir  -p /tmp/test/1/2/3  如果 /tmp/1/2/ 下面除了3目录外还有个4目录,4目录里还有个5目录,那么是否可以成功删除?   rmdir -p  删除一个不存在的目录时是否报错呢?rmdir -p 不能成功删除非空目录,rmdir -p 删除一个不存在的目录时会报错,提示"没有那个文件或目录" 2. 删除一个目录或者文件时,在删除之前会先问一下我们是否删除,如果直接回车,是否删除呢?如果输入的不是'y'