如何在Linux中使用访问控制列表保护文件或目录

  介绍

本篇内容主要讲解”如何在Linux中使用访问控制列表保护文件或目录”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”如何在Linux中使用访问控制列表保护文件或目录”吧!

作为系统管理员,我们的首要任务就是切实保护数据的安全,以免被未授权的人访问。我们都很清楚使用一些大有帮助的Linux命令设置的权限,比如chmod,乔恩和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_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 ,(提醒;RedHat  based 系统)
  [tecmint@linux  ~),美元sudo  apt-get  install  nfs4-acl-tools  acl [提醒;Debian  based 系统]

<强> 3。检查已挂载的文件系统是否支持ACL。

现在,检查已挂载的文件系统是否使用ACL选项挂载的。我们可以使用“山”命令来进行同样的检查,如下所示。

 [root@linux  ~] #, mount , |, grep 小姐;根/dev/mapper/fedora-root 提醒/,type  ext4  (rw, relatime, data=https://www.yisu.com/zixun/ordered) 

但在本例中,它在默认情况下没有显示acl,所以,接下来我们可以再次使用acl选项,重新挂载已挂载的分区。但在继续下一步之前,我们还有另一个选项:确保有没有使用acl选项来挂载,因为对较新系统而言,它可能整合了默认的挂载选项。

 [root@linux  ~] #, tune2fs  -l /dev/mapper/fedora-root  | grep  acl
  Default  mount 选择:,,,,user_xattr  acl 

在上面的输出结果中,你能看到默认的挂载选项已经支持acl。另一个选项是,重新挂载分区,如下所示。

 [root@linux  ~] #, mount  -o 重新安装,acl /

下一步,将下面这一项条目添加到/etc/fstab文件,让其具有* * *性。

/dev/mapper/fedora-root /, ext4 违约,acl  1, 1 

再次重新挂载分区。

 [root@linux  ~] #, mount  -o  remount /

<强> 4。针对NFS服务器。

在NFS服务器上,如果NFS服务器导出的文件系统支持ACL, ACL又可以被NFS客户机读取,那么客户机系统就能使用ACL。

想禁用NFS共享区上的ACL,你就得在NFS服务器的“/etc/exportfs”文件中添加选项“no_acl”。想在NSF客户端禁用它,那么在挂载期间再次使用“no_acl”选项。

如何在Linux系统中实现ACL支持?

ACL有两种类型:

?访问ACL:访问ACL用于授予针对任何文件或目录的权限。

?默认ACL:默认ACL用于授予/设置只针对特定目录的访问控制列表。

访问ACL与默认ACL之间的区别如下:

?默认ACL只能用在目录级别。

?在该目录里面创建的任何子目录或文件将从父目录那里继承ACL。另一方面,文件继承默认ACL作为其访问ACL。

如何在Linux中使用访问控制列表保护文件或目录