并非每个Linux管理员都知道如何在文件系统上部署访问控制列表(ACL)以增强权限。现在应该改变了。在基本Linux权限的主题下,权限被分配为文件所有者、文件拥有组等。Linux系统上的每个文件和目录都有一个用户所有者和组所有者。每个Linux管理员都可以使用表1中列出的ls-l命令调用当前所有者列表并为其分配权限:表1:显示当前Linux系统Sanders-computer上的当前权限分配:~sandervanvugt$$ls-ltotal24drwx------+13sandervanvugtstaff442Oct2020:17Desktopdrwx------+103sandervanvugtstaff3502Oct2108:37Documentsdrwx------+289sandervanvugtstaff9826Oct2110:05Downloadsdrwx------@51sandervanvugtstaff1734Sep2216:31Librarydrwx------+29sandervanvugtstaff986Oct907:59Moviesdrwx------+5sandervanvugtstaff170May2123:19Musicdrwx------+24sandervanvugtstaff816Sep1922:21Picturesdrwxr-xr-x+4sandervanvugtstaff136Apr122013Publicdrwxr-xr-x3sandervanvugtstaff102Sep2216:31Samsung-rwxr-xr-x1sandervanvugtstaff324Sep2311:51bart1-rw-r--r--1sandervanvugtstaff148Aug1413:12rekenprogrammaLOG-rwxr-xr-x1sandervanvugtstaff607Jul316:59script3如果文件只需要一个所有者或一个组,默认的Linux权限方案也可以使用。但是,如果你需要给一组用户提供文件控制,另一组用户只需要读取文件,而不允许其他人访问文件,那么默认权限就无济于事了,你需要ACL。LinuxACL为文件寻找受托者,允许多个用户和多个组拥有权限。还可以设置默认访问控制列表,以对目录中创建的新条目使用默认权限。setfacl命令使用ACL设置权限。Linux系统通过表2中的getfacl命令显示当前的ACL分配情况,申请权限很简单。例如,Linux管理员希望组织中的销售团队成员能够访问目录/groups/account中的所有文件,可以使用setfacl-R-mg:sales:rx/groups/account。在此命令中,选项-R用于将ACL恢复到目录/groups/account中的所有现有条目。选项-m用于改变ACL,g代表组,然后是组名和分配的权限。表2:如何使用getfacl[root@tlsgroups]#getfaclaccount/#file:account/#owner:root#group:accountuser::rwxgroup::rwxgroup:sales:r-xmask::rwxother::-显示LinuxACL权限--不要担心因为getfacl命令而出现黑屏,这是自动改变的。默认的LinuxACLLinuxACL命令设置当前文件的权限,但不会自动对新文件执行任何操作。通常,如果管理员在目录上使用ACL,他们还希望ACL应用于目录中创建的所有新文件。这是默认ACL的权限。添加默认ACL就像使用add选项复制前面的setfacl命令一样简单。为了向目录中的所有新文件分配权限,部署以下命令:setfacl-md:g:sales:rx/groups/account您还可以使用getfacl检查当前默认的ACL设置,如表3所示:表3:检查默认LinuxACL分配[root@tlsgroups]#getfaclaccount/#file:account/#owner:root#group:accountuser::rwxgroup::rwxgroup:sales:r-xmask::rwxother::---default:user::rwxdefault:group::rwxdefault:group:sales:r-xdefault:mask::rwxdefault:other::---设置默认ACL后,新权限将应用于目录中创建的所有术语。
