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

FACL:Filesystem Acess Control List

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

ACL支持多种Linux文件系统,包括ext2, ext3, ext4, XFS, Btfrs, 等。如果你不确定你的文件系统是否支持ACL,请参考文档。

场景:Tom,Jerry两个用户,Tom在一个公共目录创建一个文件,只希望Jerry也可以访问,并能够编辑修改保存。用户之间文件共享。

安装acl管理工具

CentOS/Fedora/RHEL 中:

yum install acl

Ubuntu/Debian 中:

sudo apt-get install acl

安装ACL完成后,需要激活我们磁盘分区的ACL功能,这样我们才能使用它。

首先,我们检查ACL功能是否已经开启。

vim /etc/fstab

查看到/ /boot均没有开启ACL功能,在需要开启ACL的分区的选项前增加acl标记。

eg.

基础ACL通过两条命令管理:setfacl用于增加或者修改ACL,getfacl用于显示分配完的ACL。

getfacl

[[email protected] tmp]# cp /etc/inittab .
[[email protected] tmp]# ls
inittab  project  test
[[email protected] tmp]# getfacl inittab
# file: inittab
# owner: root
# group: root
user::rw-
group::r--
other::r--

setfacl
  -m: 设定
    u:UID:perm 
    g:GID:perm

    d:u:UID:perm  
    d:g:GID:perm

      为某一个目录设置默认的访问控制列表。意味着在这个目录下新建的文件将自动继承目录的访问控制列表权限。
    setfacl -m u:hadoop:rw inittab
  -x:取消
    u:UID
    g:GID
    setfacl -x u:hadoop inittab

  --mask:

在hadoop用户下
[[email protected] tmp]$ echo 123 >> inittab
-bash: inittab: Permission denied

在root用户下
[[email protected] tmp]# setfacl -m u:hadoop:rw inittab
[[email protected] tmp]# getfacl inittab
# file: inittab
# owner: root
# group: root
user::rw-
user:hadoop:rw-
group::r--
mask::rw-
other::r--
添加acl权限后

 -rw-rw-r--+ 1 root root 495 7月 26 19:06 inittab

在hadoop用户下
[[email protected] tmp]$ echo 123 >> inittab
[[email protected] tmp]$ tail -3 inittab
# ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target
#
123

让developteam组中的所有用户对testfile有读写权限

[[email protected] tmp]# mkdir testfile
[[email protected] tmp]# getfacl testfile
# file: testfile
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

[[email protected] tmp]# setfacl -m g:developteam:rw testfile
[[email protected] tmp]# getfacl testfile/
# file: testfile/
# owner: root
# group: root
user::rwx
group::r-x
group:developteam:rw-
mask::rwx
other::r-x

用户访问文件 权限应用次序 用户进程匹配如下:
owner --> group--> other
owner --> facl,user --> group --> facl,group --> other

时间: 2024-11-07 16:52:29

Linux文件系统访问控制列表(FACL)的相关文章

分析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

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

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

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

特殊权限 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基础--特殊权限及文件系统访问控制列表

特殊权限 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中继承

第十四文件系统访问列表facl

文件系统访问列表: 如果有俩用户tom.jerry,其中一个用户(jerry)想要访问另外一个用户(tom)的文件需要怎么办呢? tom:tom, tom基本组jerry: other:r-- 之前学过chown 是更改属组,属组不过一般用户是不能进行更改的所以,引出“facl” FACL:全称:Filesystem Access Control List利用文件扩展保存额外的访问控制权限 jerry需要的权限是: rw- setfacl -m(x)-u(g) file 其中-m: 设定u:UI

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_文件访问控制列表(facl)

文件系统访问列表:FACL: Filesystem Access Control List  利用文件拓展属性保存额外的控制权限    文件访问安全上下文    owner --> group --> other    owner --> facl,user --> group --> facl,group --> other setfacl :    -m :附加额外的访问控制列表         u:user_name:perm         g:group_na