天天看点

Linux中的文件访问控制列表ACL

ACL:访问控制列表

FACL:文件系统访问控制列表

概述:访问控制列表,当文件或目录的权限不能在完全满足访问控制的实现时,即可使用文件系统访问控制列表进行设置访问权限。

分类:

1.对用户进行访问控制设置

2.对组进行访问控制设置

实现:

在一个文件系统挂载时,默认文件系统的ACL功能是不被支持,只有那些在系统安装时生成的那些文件系统才自动支持ACL功能。所以在进行ACL的设置时要对文件系统的ACL功能进行启用。权限的生效次序:属主-->用户ACL-->属组-->组ACL-->其他

【1】启用文件系统的ACL功能

法1.修改文件系统的默认挂载选项

在/etc/fstab中对应的文件系统的默认挂载选项default后面加上",acl"并对其进行重新挂载

#mount -o remount /mydata

也可以使用命令

#mount -o remount,acl /mydata

法2.修改文件系统的默认支持选项

#tune2fs -o acl /dev/sda5

【2】设置文件系统的访问控制列表:setfacl

格式:    setfacl -m u:USERNAME:MODE FILE

           setfacl -m g:GROUPNAME:MODE FILE

           setfacl -x u:USERNAME FILE

           setfacl -x g:GROUPNAME FILE

参数:    -m:设定ACL

          -x:取消ACL

#setfacl -m u:redhat:rw- /tmp/test                #####为/tmp/test文件设定文件访问控制列表是redhat用户权限为读写

#setfacl -x u:redhat /tmp/test                    #####取消用户redhat对文件/tmp/test的访问控制列表

【3】扩展

为某个目录设定默认的ACL使其目录内新创建的任何文件或目录继承此ACL

#setfacl -m d:u:centos:rwx /tmp/centos/

如果不设定默认也想达到此种效果

#setfacl -R -m u:centos:rwx test/

注:这样设定的话,若干创建文件,则其执行权限也会继承,因此该项会很危险,所以一般都用设置其默认,在使用tar进行归档具有ACL的文件时,tar默认不会保存文件的ACL,如果要保存ACL的信息则需要在tar后面加上"--acls"选项。

本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/796041,如需转载请自行联系原作者

继续阅读