导航:首页 > 程序命令 > setfacl命令

setfacl命令

发布时间:2025-01-31 21:31:10

1. Linux常用命令之--ACL(getfacl,setfacl)

ACL可以为某个文件单独设置该文件具体的某用户或组的权限,不走三类权限位
默认 ACL 权限的作用是:如果给父目录设定了默认 ACL 权限,那么父目录中所有新建的子文件都会继承父目录的 ACL 权限。但是要加 -R
※ACL权限更高,会先查看ACL再看传统的权限。如果没有ACL才会走三类权限位
※如果一个用户在ACL的user中一个权限,他所在的ACL的group中是另外一个权限,会按照user权限来

• getfacl <文件名>
获取文件的访问控制信息
• setfacl设置文件的acl
-m修改文件的acl
-x取消用户或组对文件的权限
语法:
• setfacl –m u:用户名:权限 <文件名> 设置某用户名的访问权限
• setfacl –m g:组名:权限 <文件名> 设置某个组的访问权限

例1: 想要实现这个↓需求
user1:rwx,user2:rw-,user3:r-x,user4:r--,user5:--x,user6:-w-,
传统权限无法满足上述要求,这时就可以用↓命令进行权限添加

建一个名字为1的文件,查看文件1的权限↓

设置权限

修改后看文件1的权限↓

例2:

有组A(groupA)和组B(groupB)两个组,文件1所属于A组,如果通过三类权限位设置文件权限,其他用户没有任何权限,而B组为其他用户,因此无法对文件1进行任何操作。这时可以通过ACL给组B设置权限:
setfacl -m g:groupB:r 1 B组里的所有成员就有读权限了

• setfacl –x u:用户名 <文件名> //取消某用户的访问权限
• setfacl –x g:组名 <文件名> //取消某个组的访问权限
❉↑这时是将这个user或group的ACL整个删除,如果只是想删除某一个权限,还是需要setfacl -m来进行重新设置

例3:

setfacl -m d:u:qin:rwx /caiwubu
d:default,即将caiwubu这个文件夹的权限对qin开放rwx权限,getfacl /caiwubu的时候会发现有一条default:user:qin:rwx。即在/caiwubu文件夹里 新建 的文件夹以及文件对qin的权限都为rwx,但是之前已经存在的文件及文件夹的权限在修改ACL权限之前是什么现在还是什么
setfacl -x u:qin /caiwubu/zhangben 取消qin这个用户对该文件的acl权限
取消qin这个用户对该文件的acl权限
❀如果这个文件给两个及两个以上的用户设定了ACL,取消其中一个用户的权限可以用这个命令。但是如果这个文件只给一个用户设定了ACL且想删除ACL,或者想把该文件里所有的ACL权限都删除的话,需要用↓的命令
setfacl -b /caiwubu/zhangben

关于权限列的.和+:
ls -lZ :
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
dr-xr-xr-x root root system_u:object_r:boot_t:s0 boot
drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
Linux权限列的点不是无意义字符
・在开启SELinux的情况下创建的目录和文件有这个点,权限列有这个点说明该目录或文件设置了SELinux相关的权限①
・在禁用SELinux权限之后,在之前开启SELinux权限时创建的文件或目录保持原来的权限不便,权限列的点依然显示,而新创建的目录或文件在权限列无这个点显示②
・权限列中最后一个位置如果是加号,说明这个目录或文件已经设置了ACL权限相关的内容。如果加号存在,则已经有点的目录或文件中的点的显示会被覆盖,但原来的SELinux属性保持不变

2. 9.9 Linux ACL权限设置(setfacl和getfacl)

Linux ACL权限设置主要通过setfacl和getfacl命令进行。getfacl命令用于查看文件或目录的ACL权限信息,setfacl命令用于设定或修改权限。它们在文件和目录权限管理中扮演重要角色。

使用setfacl命令可以给用户或群组添加ACL权限,通过命令格式了解其具体操作。例如,添加用户st的r-x权限。

在实际应用中,ACL权限可以针对特定用户或群组进行精细化控制,无需为特定用户设定身份信息。同时,通过默认ACL权限功能,可以在创建文件或目录时自动继承父目录的权限设置,提高管理效率。默认ACL权限只适用于目录,递归ACL权限则对目录下的所有子文件和子目录生效。

通过setfacl命令,可以灵活地设定、修改或删除ACL权限。如删除指定用户的权限,删除所有与特定文件或目录相关的ACL权限。这些操作直接通过命令即可实现,无需额外步骤。

总之,Linux ACL权限设置通过setfacl和getfacl命令提供了灵活且强大的权限管理能力。这些命令支持添加、修改、删除各种ACL权限,满足不同的权限需求,提高系统安全性与管理效率。

阅读全文

与setfacl命令相关的资料

热点内容
ug如何启动服务器 浏览:444
csgo防抖动命令 浏览:960
如何弄到手机app页面的源码 浏览:441
androidwindows7破解版 浏览:363
解压视频动画怎么拍 浏览:748
连涨启动源码 浏览:163
小奔运动app网络异常怎么回事 浏览:449
php开启压缩 浏览:305
服务器主机如何设置启动 浏览:284
linux配置网络命令 浏览:776
一张照片怎么制作视频app 浏览:910
pythonweb和php 浏览:978
电脑服务器地址ip地址 浏览:824
对矩阵压缩是为了 浏览:913
setfacl命令 浏览:176
linux子系统中断 浏览:344
linux查看进程ps 浏览:228
知识库系统php 浏览:626
小波变换压缩图像python 浏览:154
阿里巴巴程序员怎么月入百万 浏览:176