作为系统管理员,我们的首要任务就是切实保护数据的安全,以免被未授权的人访问。我们都很清楚使用一些大有帮助的Linux命令设置的权限,比如chmod、chown和chgrp等命令,可是这些默认的权限集有一定的局限性,有时可能还满足不了我们的要求。比如说,我们就无法针对同一目录或文件为不同用户设置不同的权限集。因而,访问控制列表(ACL)应运而生。
Linux访问控制列表
比如说,你有三个用户,分别是“tecmint1”、“tecmint2”和“tecmint3”。每个用户都有一个共同的用户组,比如说“acl”。用户“tecmint1”希望,只有“tecmint2”用户才能读取和访问归“tecmint1”用户所有的文件,其他人都无权访问该文件。
访问控制列表(ACL)让我们可以做到同样这点。这些ACL让我们可以为某个用户、用户组或不在用户组列表中的任何用户的任何组授予权限。
注意:按照红帽产品说明文档,它为ext3文件系统和NFS导出文件系统提供了ACL支持。
如何检查Linux系统中的ACL支持?
在继续下一步之前,你应确保ACL在现有的内核和已挂载的文件系统上得到支持。
1.
检查内核是否支持ACL。
运行下面这个命令,检查是否为文件系统提供ACL支持,是否有POSIX_ACL=Y选项(如果出现的是N,而不是Y,那么这意味着内核并不支持ACL,需要重新加以编译)。
[root@linux ~]# grep -i acl /boot/config*
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_CIFS_ACL=y
CONFIG_9P_FS_POSIX_ACL=y
2.
检查所需的程序包。
在开始处理ACL之前,要确保你已安装了所需的程序包。下面是所需的程序包,需要使用yum或apt-get命令加以安装。
[root@linux ~]# yum install nfs4-acl-tools acl libacl [on RedHat based systems]
[tecmint@linux ~]$ sudo apt-get inst