给予特殊的权限

概述

在某些情况下它可能是可取的或需要选择性地允许其他用户访问一个特定的目录或文件。可以做这个在玛蒂尔达使用访问控制列表(acl)。acl文件和/或目录可以分配给一个用户或组的水平,并且可以控制所有的访问权限(读、写、执行)。本文档介绍如何使用acl,他们可以使用。

请注意设置acl可能有点复杂,这个文档是为了给用户提供一些最常用的命令添加或删除acl的选择文件或文件夹。如果你是担心数据安全性和权限,并确定如何正确使用acl,请电子邮件(电子邮件保护)寻求帮助。

acl是什么?

acl是一个Linux操作系统的一部分,提供细粒度的控制文件和目录访问特定用户或组。使用acl,先决条件是根目录树必须启用了acl的山。如果文件系统没有安装启用了acl,您将无法使用它们在任何目录或文件,文件系统的一部分。

我在哪里可以使用acl吗?

玛蒂尔达,可以使用acl在“刮”的空间(例如,/划痕/用户/划痕/项目)。你可以设置acl的所有者目录或文件。

然而,请注意和/ home /项目目录挂载不启用了acl,这样他们不能用于文件系统的目录树。

使用acl:例子

用户级

假设我们有一个文件“mydata。dat”“/ /项目/ myproj”目录。你是所有者(用户庇护)和目前的权限设置如下:

((电子邮件保护)myproj] ls - l mydata.dat美元rw-r - - - - - - 1庇护myproj 27 10月27日11:29 mydata.dat((电子邮件保护)myproj]美元

如果我们希望允许用户“mary2022”(他是我们项目组的成员“myproj”)写入文件,我们可以修改acl使用以下:

((电子邮件保护)myproj]美元setfacl - m用户:mary2022: rw - mydata.dat((电子邮件保护)myproj]美元

现在我们可以验证文件的acl使用:

((电子邮件保护)myproj]美元getfacl mydata.dat#文件:mydata.dat老板:庇护#组:myproj用户:r—用户:mary2022:特权组::- - - - - -面具:特权其他::- - - - - -((电子邮件保护)myproj]美元

让我们仔细分析命令”setfacl - m用户:mary2022: rw - mydata.dat”

  • - m,表明我们是“修改acl”
  • 用户:mary2022: rw -,我们分配读写(没有执行,注意“-”)“mary2022 mydata.dat权限用户

类似的过程可用于一个目录。假设我们想让“mary2022”写子目录“/划痕/项目/ myproj / simulationResults”和阅读任何子目录的文件,但不写任何现有的文件。目前,读和写权限设置为所有者(孝顺)。首先我们需要设置读、写和执行权限的文件夹,允许“mary2022”写新文件,读取现有文件,和浏览文件夹(执行权限):

((电子邮件保护)myproj] $ ls - ldrwx——S - 2庇护myproj 4096年11月16日09:39 simulationResults((电子邮件保护)myproj]美元getfacl simulationResults#文件:simulationResults老板:庇护#组:myproj#旗帜:s -用户:特权组::- - - - - -其他::- - - - - -((电子邮件保护)myproj]美元setfacl - m用户:mary2022: rwx simulationResults((电子邮件保护)myproj]美元getfacl simulationResults#文件:simulationResults老板:庇护#组:myproj#旗帜:s -用户:特权用户:mary2022:特权组::- - - - - -面具:特权其他::- - - - - -((电子邮件保护)myproj]美元

现在我们需要设置阅读权限的现有文件:

((电子邮件保护)myproj] $ cd simulationResults((电子邮件保护)myproj] $ ls - l共8- - - - - - - - 1庇护myproj 9 11月16日09:44 myresults1.dat- - - - - - - - 1庇护myproj 9 11月16日09:44 myresults2.dat((电子邮件保护)myproj]美元setfacl - m用户:mary2022: r——*((电子邮件保护)myproj]美元getfacl myresults1.dat#文件:myresults1.dat老板:庇护#组:myproj用户::rw -用户:mary2022: r—组::- - - - - -面具:r—其他::- - - - - -((电子邮件保护)myproj]美元

组级别

类似的过程可用于为用户组如上所示。我们将简单地取代的“用户”部分与“集团”的命令。还请注意,速记版本的“用户”(u)和可以使用“集团”(g)。例如:

((电子邮件保护)myproj]美元setfacl - m组:smith-lab: r——somefile.dat

大多数玛蒂尔达用户不太可能需要改变组权限,因为大多数项目组都是独立的和限制只对项目组的成员。但可能有场景有限合作玛蒂尔达之间可能需要读访问用户。至少,你需要修改acl在项目根目录级别(例如/划痕/项目,setfacl - m g: somegroup: r×myproj),然后设置权限需在项目目录树达到所需的文件或文件夹。记住,可执行位(“x”)必须设置在每个目录或子目录导航访问是必要的。在安全如何做到这一点,如果有疑问请发送电子邮件(电子邮件保护)

删除acl

删除用户或组acl

修改一个现有的acl(例如,你理所当然的读和写权限的用户或组,想改变它为只读):

((电子邮件保护)myproj]美元setfacl - m用户:mary2022: r——myresults.dat

完全删除一个用户或组acl文件或文件夹:

((电子邮件保护)myproj]美元setfacl - x用户:mary2022 myresults.dat((电子邮件保护)myproj]美元setfacl - x用户:mary2022 myfolder

删除所有acl

删除所有acl文件或文件夹:

((电子邮件保护)myproj]美元setfacl - b myresults.dat((电子邮件保护)myproj]美元setfacl - b myfolder

记得仔细检查文件夹的文件,以确保所需的恢复需默认权限。

更多的信息


HPC