为三个不同的用户授予对文件的不同级别访问权限

为三个不同的用户授予对文件的不同级别访问权限

我已经创建了 3 个用户adduser
如何example.txt在没有 的情况下为每个用户授予对一个文件的不同权限()setfacl

例子:

  • 第一个仅对文件具有读取权限的用户
  • 第二要有读写权限
  • 第三拥有该文件的所有权限。

答案1

权限标签 wiki是关于经典 Linux 文件权限的简短参考。

为了简要演示这些权限在文件上的最简单用法,让我们创建一个文件,我将调用shiny

touch shiny

让我们看看我们刚刚创建的文件的权限

$ ls -l shiny
-rw-rw-r-- 1 zanna zanna 0 Feb 26 21:54 shiny

开头的字符串以三组为单位显示权限。权限字符串后面是一个我们不太感兴趣的数字,然后是zanna重复两次的单词。zanna是我的用户名。由于我创建了该文件,所以我是所有者,并且它也属于我的组。

在此处输入图片描述

r= 读取w= 写入,x= 执行-= 无权限

现在shiny我们可以看到它是一个普通文件(-在开始时),所有者zanna可以读取和写入该文件。组成员zanna也可以读取和写入该文件,任何其他用户可以读取,但不能写入。没有用户对此文件具有执行权限。

stat命令提供了有关文件元数据的更多详细信息,包括权限,我们可以用各种方式格式化其输出。例如,我最喜欢的方式

$ stat -c "%n %a" shiny
shiny 664

这表明该文件具有八进制权限 664 - 所有者和组的读写权限,以及其他人只读的权限。

在我的系统上,我创建了三个用户帐户zannapixiemermaid

让我们更改权限以shiny授予每个用户不同级别的访问权限。

首先,我们将创建一个新组(我们可以只将用户添加到该zanna组,但我不想这样做,因为这会让他们访问我的许多个人文件)

sudo addgroup unicorns

现在我们将使用该unicorns组来控制访问,通过使该组拥有shiny

chown :unicorns shiny

请不要忘记此命令中的冒号:,因为这允许我们仅更改组,并且在使用时始终小心输入chown频道安热自己的chmod频道安热模式e),尤其是sudo

现在让一个用户成为该组的成员:

sudo adduser pixie unicorns

现在 pixie 是一只独角兽该团体的一名成员unicorns

现在我们只需要更改文件模式。有两种方法可以做到这一点,我更喜欢八进制方法:

chmod 764 shiny

以及象征性的方式:

chmod u+x shiny

我相信你会读wiki 以了解更多信息。运行其中一个命令后,您可以使用stat或再次检查ls -l

$ ls -l shiny
-rwxrw-r-- 1 zanna unicorns 0 Feb 26 21:54 shiny

现在:

  • zanna具有读取、写入和执行权限,因为她是所有者
  • pixie拥有读写权限,因为她属于该组unicorns
  • mermaid具有读取权限,因为shiny所有人都可以读取。

相关内容