分析Linux 文件系统访问控制列表

1.What is FACL?

FACL,文件系统访问控制列表,即Filesystem Access Control List。根据以前对LINUX权限模型的了解,大概如下:

假设有这么一个场景:

用户TOM创建的文件file,希望用户LUCY可以访问和编辑。

分析:


第一,可否TOM用户临时改变file的owner为LUCY,这样就可以达到目的。

显然,这并不可行。因为普通用户根本就没有chown的权限。


第二,可否设置LUCY在file的属组并属组权限有rw或者file的other权限有rw。

可实现,但是有明显的缺点。组里面的用户可不仅仅有LUCY这一个用户。我们需要实现的是细粒度的访问控制。


第三,可否利用suid特殊权限来实现。

的确,只要我们对file设置suid,那么不论是LUCY还是其他用户都可以访问和编辑。那么缺点和上面的也是显而易见的。

也就是说,我们希望实现用户和用户之间的资源共享,LINUX提供FACL来帮助我们实现。

2.How to use FACL?


#获取file的访问控制列表

getfacl file


#设置

setfacl -m u:USERNAME:permission file

setfacl -m g:GROUPNAME:permission file


#取消

setfacl -x u:USERNAME file

setfacl -x g:GROUPNAME file

3.Some examples about FACL

[[email protected] backup]# cp /etc/inittab inittab
[[email protected] backup]# ls -l
total 8
-rw-r--r-- 1 root root 1666 Jun 15 22:28 inittab

[[email protected] backup]$ echo "Hello FACL" >> inittab 
-bash: inittab: Permission denied

[[email protected] backup]# setfacl -m u:tom:rw inittab 
[[email protected] backup]# getfacl inittab
# file: inittab
# owner: root
# group: root
user::rw-
user:tom:rw-
group::r--
mask::rw-
other::r--

[[email protected] backup]$ echo "Hello FACL" >> inittab 
[[email protected] backup]$ tail -2 inittab 
x:5:respawn:/etc/X11/prefdm -nodaemon
Hello FACL

4.分析与小结


A 注意一旦我们设置了访问权限控制列表,那么:

[[email protected] backup]# ls -l inittab

-rw-rw-r--+ 1 root root 1677 Jun 15 22:30 inittab

也就是会多了个+,其实FACL就是通过文件的扩展属性来保存权限信息的。

B 复制具有FACL的FILE,会发生什么呢?

【可能会丢失FACL,需要通过一些选项或者命令来避免,以后再说吧~】


C 如果我们对目录设置FACL,那么目录下的文件将会继承FACL。

【实际应用不多,了解即可】

  对目录设置FACL,格式如下:

  setfacl -m d:u:USERNAME:permission file


D 用户访问文件图示如下:

分析Linux 文件系统访问控制列表,布布扣,bubuko.com

时间: 2024-10-08 20:27:13

分析Linux 文件系统访问控制列表的相关文章

Linux文件系统访问控制列表(FACL)

FACL:Filesystem Acess Control List Linux(和其他Unix等POSIX兼容的操作系统)有一种被称为访问控制列表(ACL)的权限控制方法,它是一种权限分配之外的普遍范式.例 如,默认情况下你需要确认3个权限组:owner.group和other.而使用ACL,利用文件扩展属性保存额外的访问控制权限,你可以增加权限给其他用户或组别,而不单只是简单 的"other"或者是拥有者不存在的组别.可以允许指定的用户A.B.C拥有写权限而不再是让他们整个组拥有写

【linux_笔记】Linux_文件系统访问控制列表(facl)、用户及Linux终端

学习资源来自:www.magedu.com 学习记录过程中难免出现错误,如有发现,还望大神们指出. 示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行.示例仅供参考(练习题在附录). 文件系统访问控制列表 文件系统访问控制列表(FACL):Filesystem Access Control List    利用文件扩展保存额外的访问控制权限  setfacl(设定facl)        -m: 设定            u:UID:perm  

linux基础--特殊权限及文件系统访问控制列表

特殊权限 SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动用户. SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动用户所属的基本组. Sticky:在一个公共目录,每个用户都可以创建文件,能删除自己的文件,但不能删除别人的文件 修改文件的特殊权限 chmod u+s FILE:给文件添加SUID权限 chmod u-s FILE:给文件删除SUID权限 chmod g+s FILE:给文件添加SGID权限 chmod g-s FILE:给文件删除SGI

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

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

特殊权限及文件系统访问控制列表笔记及习题答案

特殊权限 passwd:s SUID  : 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者 chmod u+s FILE chmod u-s FILE 如果FILE本身原有执行权限,则SUID显示为s:否则显示S SGID  : 运行某程序时,相应进程的属组是程序文件自身的属主,而不是启动者所属的基本组 chmod g+s FILE chmod g-s FILE Sticky:  在一个公共目录,每个人都可以创建文件,删除自己的文件, 但不能删除别人的文件 chmod o+t D

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:posix访问控制列表(ACL)

今天接到客户需求设定service用户对/home/service/data/mask/    及  /home/service/data/mask/send 具有读写权限. 查看mask和send目录属性 drwxrwxr-x    3 root             root      96 Jun  3 11:03 mask getfacl # file: mask# owner: root# group: rootuser::rwxgroup::rwxother::r-x 修改如下 修

linux 特殊权限chattr(文件系统级别的权限) Attr 权限和 ACL访问控制列表 ...

Attr 权限 和 ACL 访问控制列表 Attr 权限里的 "a" 权限和 "i" 权限 a :全名append only 只允许追加数据,不允许任何用户改动文件(超级用户也不行) 甚至不能正常的删除文件 只能读取文件内容,只能用 "echo" 追加内容 chattr +a xxx #增加 a 权限 chattr -a xxx #取消 a 权限 lsattr #查看权限 [[email protected] /test]# touch abc

linux文件权限管理与ACL访问控制列表

一.文件属性 1.文件属性: 文件属性操作 chown : change owner  ,设置文件所有者 chgrp : change group  ,设置文件的属组 文件属主修改: chown 格式:chown [OPTION]- [OWNER][:[GROUP]] FILE- 用法: OWNER OWNER:GROUPNAME    (同时修改属主.属组) :GROUPNAME                (默认属主,修改属组) ( 命令中的冒号可用.替换:) chown  –refere