生活资讯
setfacl 、setfacl b
2023-04-08 01:32  浏览:46

linux setfacl 问题

之所以会出现错误,是因为你用setfacl命令设置的是目录的继承权限啊,继承权限就是目录下新建的东东继承456的权限,而不是456这个目录本身的权限设置。

继承权限是用d参数设置的,就是你那一行:

setfacl -m d:u:linuxprobe:rwx 456

这就是继承权限的设置,这一行命令也没错,不用取消,你再输入一行命令:

setfacl -m u:linuxprobe:rwx 456

然后你再用getfacl命令查看,应该有这么一行:

user:linuxprobe:rwx

和下面的def***lt:user:linuxprobe:rwx相比少了一个def***lt,这才是正确的设置结果。

chmod+o+r和setfacl+o::r--一样吗?

chmod+o+r和setfacl+o::r是两种不同的方法来修改文件或目录的权限。

chmod是一个Linux命令,用于更改文件或目录的权限。它的语法是chmod mode file,其中mode是一个字符串,用于指定文件或目录的权限。例如,+o+r表示给其他用户添加可读权限。

setfacl是另一个Linux命令,用于更改文件或目录的访问控制列表(ACL)。它的语法是setfacl -m u:user:perms file,其中u:user:perms表示给用户指定的权限。例如,+o::r表示给其他用户添加可读权限。

总的来说,两个命令都可以用来修改文件或目录的权限,但它们使用的方式不同。 chmod使用简单的模式字符串来指定权限,而setfacl使用复杂的访问控制列表(ACL)来指定权限。 因此,setfacl可以更精确地控制权限,但使用起来可能会更复杂。

linux setfacl 可以只取消acl的默认权限,或递归权限 其他的权限不动吗

可以啊,自己配就可以了,结合用

1.删除ACL权限

setfacl -x u:用户名 文件名

删除指定用户的ACL 权限

setfacl -x g:组名 文件名

删除指定组的ACL权限

setfacl -b 文件名

删除文件下所有的ACL权限

2.递归 ACL权限 (针对 目录现有的文件设置ACL)

递归:父目录有,子目录就有

setfacl -m u:用户名:权限 -R 文件名

3. 默认ACL权限 (针对 目录以后的文件设置ACL)

如果给父目录设置了ACL权限,那么在父目录中创建的新文件也会继承父目录的ACL权限

setfacl -m d:u:用户:权限名 文件名

linux 里面setfacl -X怎么用

setfacl命令可以用来细分linux下的文件权限。

chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。 比较常用的用法如下:

setfacl –m u:apache:rwx file 设置apache用户对file文件的rwx权限

setfacl –m g:market:rwx file 设置market用户组对file文件的rwx权限

setfacl –x g:market file 删除market组对file文件的所有权限

getfacl file 查看file文件的权限

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:def***lt,即将caiwubu这个文件夹的权限对qin开放rwx权限,getfacl /caiwubu的时候会发现有一条def***lt: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属性保持不变

关于setfacl和setfacl b的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发表评论
0评