Linux中的权限

Linux是一个多用户操作系统,因此它具有安全性,可以防止人们访问彼此的机密文件。

null

介绍

当您执行“ls”命令时,您不会得到任何有关文件安全性的信息,因为默认情况下,“ls”只列出文件名。通过使用带有“ls”命令的“option”,可以获得更多信息。所有选项都以“-”开头。例如,要使用“long listing”选项执行“ls”,可以键入ls-l

这样做时,每个文件都将以长格式列在单独的一行中。下面的窗口中有一个示例。

ls -l

这些行中有很多信息。

  1. 第一个字符几乎总是一个“-”,这意味着它是一个文件,或者是一个“d”,这意味着它是一个目录。
  2. 接下来的九个字符(rw-r–r–)表示安全性;我们以后再谈。
  3. 下一列显示文件的所有者。在本例中是我,我的用户ID是“aditya314”。
  4. 下一列显示文件的组所有者。在我的情况下,我想让“aditya314”组的人特别访问这些文件。
  5. 下一列以字节为单位显示文件的大小。
  6. 下一列显示上次修改文件的日期和时间。
  7. 当然,最后一列给出了文件名。

破译安全字符需要更多的工作。

了解安全权限

首先,你必须把这九个字符看作三组三个字符(见底部的方框)。三个“rwx”字符中的每一个都表示可以对文件执行的不同操作。

---     ---     ---rwx     rwx     rwxuser    group   other

读、写、执行和——

“r”表示您可以“读取”文件的内容。 “w”表示您可以“写入”或修改文件内容。 “x”表示可以“执行”该文件。仅当文件是程序时,才授予此权限。 如果任何“rwx”字符被替换为“-”,则该权限已被撤销。

用户、组和其他

用户–用户权限仅适用于文件或目录的所有者,不会影响其他用户的操作。 组–组权限仅适用于已分配给文件或目录的组,不会影响其他用户的操作。 others–others权限适用于系统上的所有其他用户,这是您最想查看的权限组。

读取安全权限

例如,考虑用户对某些文件的权限是“RW”作为前三个字符。这意味着文件的所有者(“aditya314”,即me)可以“读取”文件(查看其内容)和“写入”文件(修改其内容)。我不能执行它,因为它不是一个程序;它是一个文本文件。

如果“r-x”是第二组3个字符,则表示组“aditya314”的成员只能读取和执行文件。

最后三个字符显示在这个Linux系统上拥有用户ID的任何人所允许的权限。假设我们有权限(“r-”),这意味着Linux世界中的任何人都可以阅读,但他们不能修改或执行文件的内容。

更改安全权限

用于更改文件安全权限的命令称为“chmod”,代表“更改模式”,因为这九个安全字符统称为文件的安全“模式”。

  1. 给“chmod”命令的第一个参数是“u”、“g”、“o”。我们使用: u代表用户 g代表团体 o对于其他人, 你也可以使用它们的组合(u,g,o)。 这将指定要修改的三个组中的哪一个。
  2. 使用后 用于添加的“+” 用于删除的“-” 以及用于分配权限的“=”。
  3. 然后指定要更改的权限r、w或x。 这里你也可以使用r,w,x的组合。 这将指定要修改三个权限“rwx”中的哪一个
  4. 使用可以使用逗号修改更多权限
  5. 最后,您要更改其权限的文件名

举个例子可以更清楚地说明这一点。 例如,如果你想给文件“xyz.txt”的世界(“其他”)以“执行”权限,你可以先键入

chmod o

现在,您可以键入“+”来表示您正在“添加”权限。

chmod o+

然后键入“x”表示正在添加“执行”权限。

chmod o+x

最后,指定要更改的文件。

chmod o+x xyz.txt

你可以在下图中看到变化。

chmod o+x xyz.txt

您还可以一次更改多个权限。例如,如果您想取消所有人的所有权限,可以键入

chmod ugo-rwx xyz.txt

上述代码撤销了所有用户(u)、组(g)和其他人(o)对文件xyz的所有读取(r)、写入(w)和执行(x)权限。txt导致了这种情况。

multiple use

另一个例子是:

chmod ug+rw,o-x abc.mp4

上面的代码向用户(u)和组(g)添加读(r)和写(w)权限,并从其他人(o)处撤销对文件abc的执行(x)权限。mp4。

比如:

chmod ug=rx,o+r abc.c

为用户(u)和组(g)分配读取(r)和执行(x)权限,并为其他人添加文件abc的读取权限。C

您可以调用、撤销和分配多种文件权限组合。您可以在linux系统中尝试一些。

八进制符号

你也可以使用这样的八进制符号。

octal table

使用八进制符号表而不是“r”、“w”和“x”。每一位八进制数字都可以用在“u”、“g”、“o”组中。

所以,下面的工作是一样的。

chmod ugo+rwx [file_name]chmod 777 [file_name]

它们都向所有组提供完整的读写和执行权限(代码=7)。

这件事也是如此。。

chmod u=r,g=wx,o=rx [file_name]chmod 435 [file_name]

这两个代码都为用户提供读取(代码=4)权限,为组提供写入和执行(代码=3)权限,为其他组提供读取和执行(代码=5)权限。

即使这样…

chmod 775 [file_name]chmod ug+rwx,o=rx [file_name]

这两个命令都将所有权限(代码=7)授予用户和组,并为其他用户读取和执行(代码=5)。

进修

默认的Linux安全模型有点不灵活。要向一组人授予特殊访问权限(如修改权限),您必须让系统管理员创建一个包含这些人的组。此外,如果您想向另一组人授予一组不同的访问权限(例如读取权限),则不能这样做,因为您只能为每个文件或目录分配一个组所有者。要解决这个问题,可以使用ACL(访问控制列表)。您可以通过以下链接了解更多信息: 前交叉韧带

参考资料: 阿斯库布图 linuxcommand。组织

本文由 阿迪蒂亚·尼哈尔·库马尔·辛格 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享