执行权限对于文件和目录具有不同的意义,因此谨慎使用ACL的递归权限,否则容易导致权限溢出。
默认ACL权限
递归ACL仅能赋予目录,不能赋予文件
递归ACL权限少用,会出现权限溢出
00000000
能用 基本权限解决的就不要用acl权限,因为权限溢出很难控制;
默认ACL权限 d
注意:1.默认权限定义之后,之后创建的文件都会被赋予权限。
2.setfacl -m d:u:用户名:权限 文件名
递归ACL权限,会导致文件权限溢出,谨慎使用ACL权限
setfacl -m u:lw:rx -R /home/av
递归权限只能针对目录
11111
默认ACL权限
setfacl -m d:u:lw:rx /home/av
setfacl -m u:lw:rx -R /home/av
权限溢出 最后不要用 递归acl权限
递归权限只能针对目录
cd av/
touch cangls
touch bols
setfacl -m u:lw:rx av/
setfacl -m u:lw:rx -R /home/av/ #使用递归设定ACL权限,会产生权限溢出,即/av目录下的文件canls、bols都会有rx权限 而我不希望文件有执行权限 能使用基本权限就使用基本权限
递归ACL权限
指在给父目录赋予ACL权限的同时,对已经建立的所有子文件和子目录也会有被赋予和父目录相同的权限
setfacl -m u:用户名:权限 -R 目录名 #这里R表示递归
注意: a.用递归的方式容易导致文件权限溢出 b.递归acl只能用在目录而不能用于普通文件
默认ACL 权限
默认ACL 权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限
setfacl -m d:u:用户名:权限 目录名 #这里d 表示default
递归ACL权限,会导致文件权限溢出,谨慎使用ACL权限
默认ACL权限 d
注意:1.默认权限定义之后,之后创建的文件都会被赋予权限。
2.setfacl -m d:u:用户名:权限 文件名
权限的递归传递
注意:1.要写绝对路径
2.通过递归赋予的权限会因为,目录和文件的操作权限不同,导致“权限溢出”。
3.setfacl命令之后创建的子文件,不会被赋予ACL权限。
setfacl -m u:zhang:rx -R /home/av
递归ACL:指在给父目录赋予权限的同时,给已经存在于目录下的文件赋予相同的权限
setfacl -m u:用户名:权限 -R 目录名 这里R表示递归
注意: a.用递归的方式容易导致文件权限溢出 b.递归acl只能用在目录而不能用于普通文件
默认ACL 权限 : 给父目录下将来新建的文件默认赋予父目录的权限
setfacl -m d:u:用户名:权限 目录名 这里d 表示default
递归ACL:指在给父目录赋予权限的同时,给已经存在于目录下的文件赋予相同的权限
setfacl -m u:用户名:权限 -R 目录名 这里R表示递归
注意: a.用递归的方式容易导致文件权限溢出 b.递归acl只能用在目录而不能用于普通文件
默认ACL 权限 : 给父目录下将来新建的文件默认赋予父目录的权限
setfacl -m d:u:用户名:权限 目录名 这里d 表示default
递归是父目录在设定ACL权限时,所有的子目录和子文件也会拥有相同权限; 权限溢出很难控制,执行权限,对文件和目录作用不同;
setfacl -m u:用户名:权限 -R 目录名 #递归ACL权限
默认ACL权限,给父目录设定默认ACL权限,父目录中所有新建的子文件都会继承父目录的ACL权限;
setfacl -m d:u:用户名:权限 目录名
ACL递归权限和默认权限都是针对目录生效的。递归权只针对目录生效,赋予文件会报错;默认权限只针对目录生效,但赋予文件不会报错,赋予文件是没有实际意义的。
ALC 递归权限,一定会存在权限溢出,所以虽然ALC权限很方便,但是能通过普通权限控制能解决的问题,尽量不要用到ACL权限
在ACL权限中使用了递归权限,则会导致目录下文件权限溢出(给目录赋予执行权限,则递归之后,目录下的文件同样会获取执行文件)
递归权限只能赋予目录,不能赋予文件;并且只对当前目录下已经有的文件起作用,重新创建文件不会有ACL权限
递归只可以对目录使用,对目录现有的文件生效
默认的以后生成的有效,默认的可以设置文件,不过文件不会再创建文件没所谓。
默认ACL权限
递归ACL权限
递归是父目录在设定ACL权限时,所有的子目录和子文件也会拥有相同权限; 权限溢出很难控制,执行权限,对文件和目录作用不同;
setfacl -m u:用户名:权限 -R 目录名 #递归ACL权限
默认ACL权限,给父目录设定默认ACL权限,父目录中所有新建的子文件都会继承父目录的ACL权限;
setfacl -m d:u:用户名:权限 目录名
默认ACL权限
默认ACL权限:
递归ACL权限:
ACL递归权限和默认权限都是针对目录生效的。递归权只针对目录生效,赋予文件会报错;默认权限只针对目录生效,但赋予文件不会报错,赋予文件是没有实际意义的。
ALC 递归权限,一定会存在权限溢出,所以虽然ALC权限很方便,但是能通过普通权限控制能解决的问题,尽量不要用到ACL权限
#默认ACL权限和递归ACL权限
#在ACL权限中使用了递归权限,则会导致目录下文件权限溢出(给目录赋予执行权限,则递归之后,目录下的文件同样会获取执行文件)
#递归权限只能赋予目录,不能赋予文件;并且只对当前目录下已经有的文件起作用,重新创建文件不会有ACL权限
为什么我的ACL没有mask值?mask 指定最大有效权限,如果给用户赋予ACL权限,是需要和mask权限
相与才能得到用户真正的权限
修改最大有效权限
setfacl -m m:rx 文件名,使用m:权限格式
setfacl -x u:用户名 文件名 ,删除指定用户的ACL权限
setfacl -x g:组名 文件名,删除指定用户组的ACL权限
尽量少用acl权限,因为可能会权限溢出。
1.默认acl权限:把这个目录下以后所创建的所有文件都赋予某些权限。<br>
setfacl -m d(default的缩写):u:user1 目录名<br>
2.递归权限:在赋予目录权限的同时将权限赋予此文件夹下面的子文件权限<br>
setfacl -m u:user1 -R 目录名