解释了chmod命令和linux文件权限

如果您想在任何Linux操作系统上正确管理文件权限,您需要知道chmod命令。...

所以你已经找到了你喜欢的Linux风格,但是现在你很困惑,因为你对终端命令和Linux文件权限一无所知?

chmod-command-linux

或者你有一个在Linux服务器上托管的网站,你遇到了一些文件权限问题,这些问题只能通过一些命令行魔法来解决。

无论如何,要学习的最基本的Linux命令之一是一个称为chmod的小而强大的命令。但是在解释这个命令的作用之前,我们必须先了解一下Linux是如何处理文件安全的。

linux文件权限的基础知识

Linux操作系统实际上是类Unix系统(了解Linux与Unix),类Unix系统处理文件权限的方式如下:

每个文件都有一个所有者,它决定了文件的“用户类”。每个文件也有一个组,它决定了文件的“组类”。任何不是所有者并且不属于同一组的系统用户都被确定为其他用户。

类Unix系统上的所有文件都有分配给这三个类的权限,这些权限决定了这些类可以对给定文件执行哪些操作。

在类Unix系统上可用的三种操作是:read(打开和查看文件内容的能力)、write(打开和修改文件内容的能力)和execute(将文件作为可执行程序运行的能力)。

换句话说,文件的权限决定是否:

  • 所有者可以读取、写入和执行文件。
  • 组可以读取、写入和执行文件。
  • 其他任何人都可以读取、写入和执行该文件。

Linux文件权限可以以两种格式显示。

第一种格式称为符号表示法(symbolic notation),它是一个由10个字符组成的字符串:一个字符表示文件类型,然后九个字符表示文件的读(r)、写(w)和执行(x)权限(按所有者、组和其他人的顺序)。如果不允许,则使用破折号(-)。

例如:

-rwxr-xr--

这意味着它是一个常规文件,拥有所有者的读、写和执行权限;拥有组的读和执行权限;只有其他人的读权限。

第二种格式称为数字表示法,它是由三个数字组成的字符串,每个数字分别表示用户、组和其他权限。每个数字的范围从0到7,每个数字的值是通过对类的权限求和获得的:

  • 0表示不允许权限。
  • +如果类可以执行文件,则返回1。
  • +如果类可以写入文件。
  • +4如果类可以读取文件。

换句话说,每个数字值的意义最终是:

  • 0:没有权限
  • 1:执行
  • 2:写入
  • 3:写入和执行
  • 4:读取
  • 5:读取并执行
  • 6:读写
  • 7:读、写和执行

所以上面的例子(

-rwxr-xr--

)用数字表示是754。

简而言之,这就是Linux文件权限。

什么是奇莫德(chmod)?

在类Unix系统上,chmod是一个系统级命令,表示“更改模式”,允许您手动更改文件的权限设置。

不要与chown混淆,chown是类Unix系统上的另一个系统级命令,代表“change owner”,允许您将文件的所有权分配给另一个用户;chgrp代表“change group”,将文件分配给另一个组。知道这些很重要,但不像chmod那样常用。

chmod 644是什么意思?

将文件的权限设置为644,这样,只有所有者可以访问和修改文件,而其他人只能访问而不修改,并且没有人可以执行该文件,甚至所有者也不能。这是可公开访问的文件的理想设置,因为它平衡了灵活性和安全性。

chmod 755是什么意思?

将文件的权限设置为755与644基本相同,只是每个人都有执行权限。这主要用于可公开访问的目录,因为需要execute权限才能更改为目录。

chmod 555是什么意思?

将一个文件的权限设置为555,这样除了系统的超级用户之外,任何人都不能修改该文件(了解有关Linux超级用户的更多信息)。这不像644那样常用,但是知道它仍然很重要,因为只读设置可以防止意外更改和/或篡改。

chmod 777是什么意思?

将文件的权限设置为777,这样任何人都可以对该文件执行任何操作。这是一个巨大的安全风险,尤其是在web服务器上!实际上,任何人都可以访问该文件,根据需要修改它,并在系统上执行它。你可以想象,如果一个流氓用户得到它的潜在损害。

如何在linux上使用chmod

chmod命令的格式很简单:

chmod [permissi***] [file]

权限可以用数字符号表示,这是您要为所有类分配特定权限时使用的最佳格式:

chmod 644 example.txt

权限也可以用符号表示,当您只想修改特定类的权限时,这很有用。例如:

chmod u=rwx example.txtchmod g=rw example.txtchmod o=rw example.txt

您可以修改多个类的权限,例如此示例将所有者设置为读/写/执行,但将组和其他类设置为读/执行:

chmod u=rwx,g=rw,o=rw example.txt

将相同的权限分配给多个类时,可以将它们合并:

chmod u=rwx,go=rw example.txt

但是,当您只想为特定类添加或删除特定操作的权限时,使用符号表示法的美妙之处就显现出来了。

例如,这将为文件所有者添加执行权限:

chmod u+x example.txt

这将删除其他用户的写入和执行权限:

chmod o-wx example.txt

最后,如果要将特定权限集应用于特定目录(即递归chmod)中的所有文件和文件夹,请使用-R选项并以目录为目标:

chmod -R 755 example_directory

虽然chmod命令乍一看有点疯狂,但它实际上非常简单,而且完全符合逻辑。如果你了解以上内容,你就基本上掌握了chmod!

了解有关掌握linux的更多信息

chmod、chown和chgrp等命令只是Linux的冰山一角。如果您对操作系统是全新的,我们建议您为Linux新手检查一下这些整洁的技巧,以及这些您永远不应该运行的Linux命令。

但最重要的是,你最好看看我们全面的Ubuntu和Linux初学者指南,它会教你入门所需的一切知识,熟悉到让你感到舒服。

  • 发表于 2021-03-25 12:15
  • 阅读 ( 174 )
  • 分类:IT

你可能感兴趣的文章

如何隐藏linux上的文件和文件夹

... 使用cd命令转到要隐藏的文件或文件夹。例如,我们要在Documents文件夹中隐藏FilesToHide文件夹。因此,我们使用以下命令: ...

  • 发布于 2021-03-25 15:00
  • 阅读 ( 406 )

如何更改linux密码

...nux密码很容易。今天我们将向您展示如何通过几个简单的命令更改当前用户的密码、其他用户的密码和超级用户的密码。 ...

  • 发布于 2021-03-28 02:28
  • 阅读 ( 188 )

终极树莓皮命令备忘单

...填写一个简短的表格才能第一次使用它。下载终极树莓Pi命令备忘单。 ...

  • 发布于 2021-03-30 18:59
  • 阅读 ( 247 )

如何使用受限shell来限制linux用户可以做什么

...受限用户不能更改其目录,您可以控制他们可以访问哪些命令。下面介绍如何在Linux上设置受限shell。 受限炮弹 受限shell不是另一个shell。这是标准外壳的另一种模式。Bash、Korn、Fish和其他shell都可以在受限shell模式下启动。在...

  • 发布于 2021-03-31 10:57
  • 阅读 ( 387 )

如何在启动时用systemd运行linux程序

...际上并不需要它们中的大多数,但是包含它们可以让我们解释它们。 描述:这是您的服务的文本描述。 想要:我们的服务想要但不需要在我们的服务启动前启动网络。 After:此服务成功启动后(如果尚未运行)应启动的单元名...

  • 发布于 2021-04-01 17:43
  • 阅读 ( 286 )

如何在mac上设置文件权限

...“选择”按钮。这将把它添加到列表中。 访问级别是自解释的,具有“只读”访问级别的用户无法编辑文件,但他们可以访问这些文件。如果帐户设置为“读写”级别,则它们可以同时执行这两项操作。 要为列表中的用户或组...

  • 发布于 2021-04-02 05:26
  • 阅读 ( 185 )

如何在linux上使用suid、sgid和sticky位

...限的人如何更改他们的密码? 提升你的地位 通常,Linux命令和程序运行时与启动程序的人具有相同的权限集。当root运行passwd命令以更改密码时,它将以root的权限运行。这意味着passwd命令可以自由访问/etc/shadow文件中存储的密码...

  • 发布于 2021-04-02 14:48
  • 阅读 ( 175 )

linux文件时间戳:atime、mtime和ctime

...思?当我们谈论Linux文件时间戳时。在本指南中,我们将解释系统如何更新它们,以及如何自己修改它们。 atime、mtime和ctime的区别 每个Linux文件都有三个时间戳:访问时间戳(atime)、修改时间戳(mtime)和更改时间戳(ctime)...

  • 发布于 2021-04-02 16:01
  • 阅读 ( 340 )

如何在linux上使用stat命令

...串。它们是--format和--printf。它们之间的区别是——printf解释C样式的转义序列,例如换行符和制表符,并且不会自动向其输出中添加换行符。 我们创建一个格式字符串并将其传递给stat。要使用的格式序列是%n表示文件名,%s表示...

  • 发布于 2021-04-02 19:25
  • 阅读 ( 166 )

如何使用ls命令列出linux上的文件和目录

...转的人日复一日地使用它,甚至没有想过它。这也许可以解释为什么这个命令比大多数用户意识到的要多。我们用它列出文件,看看目录里有什么。当我们想查看文件的权限时,我们以长格式列出文件。除此之外,它很少得到考...

  • 发布于 2021-04-02 21:28
  • 阅读 ( 230 )
nu97359
nu97359

0 篇文章

相关推荐