Linux系统权限按照u-文件所有者权限,g-文件所有者组权限,o-其他人权限进行归类;这种区分方式明显不够精确,比如 zhangsan 属于其他人群体,某天他需要临时往系统的A文件里写入字符串;这个A文件对于其他人群体只有读权限没有写权限,现在需要为 zhangsan 临时开放 ”w“权限。使用setfacl命令;set'fa'c'le
现在大家看到了;在权限列表那一项后面有一个”+“,这个标志代表有扩展权限;
有意思的是:我明明是给zhangsan附加了写权限;在这里root组竟然增加了写权限;具体愿意目前我也不清楚;恳请哪位同僚能够解释其原因。现在我们测试一下:
现在出来了;zhangsan用户能够往A 文件里写入字符;而他自己不能读到其中的内容。切换至root用户就读到了其中的内容;这个确实是有点意思,然后我们编辑A文件也不行;
编辑文件需要有X执行权限而不是写权限;这个希望和我一样基础不扎实的朋友引起注意;如果要想去除一个文件的ACL权限;用此条命令即可setfacl -x <u\g>:<username|groupname>;
acl还有默认权限这样一个要点,setfacl -m d:<u|g|o>:<r|w|x> directory;setfacl -x d:<u|g|o>:<username|groupname> directory 分别是设定和撤销目录的默认权限。这里还有一个要点就是:给某一个目录赋予了默认权限以后必须要单独再给它赋予一次权限;不然还是会报错
;