Linux Chmod 755 命令:它有什么作用?

举报
Tiamo_T 发表于 2021/09/11 20:43:38 2021/09/11
【摘要】 chmod 命令在 Linux 系统上修改文件或目录的权限。chmod 命令后面的三个数字代表分配给用户所有者、组所有者和其他人的权限。数字 755 将读写执行权限分配给用户所有者,将读取执行权限分配给组所有者和其他人。在本文中,我将解释 chmod 命令的基础知识,您将学习如何使用它。它可能是最重要的 Linux 命令之一。我们还将通过 Linux 命令chmod 755的示例。Chmod...

chmod 命令在 Linux 系统上修改文件或目录的权限。chmod 命令后面的三个数字代表分配给用户所有者、组所有者和其他人的权限。数字 755 将读写执行权限分配给用户所有者,将读取执行权限分配给组所有者和其他人。

在本文中,我将解释 chmod 命令的基础知识,您将学习如何使用它。它可能是最重要的 Linux 命令之一。

我们还将通过 Linux 命令chmod 755的示例。


Chmod Linux 命令的基础知识

首先,让我们从Linux是一个多用户系统的事实开始……

...这就是为什么如果您使用 Linux,必须知道设置文件和目录的权限。

用户和组有不同类型的权限:

  • 读取权限
  • 写权限
  • 执行权限

而且,它们如何设置?

chmod命令在 Linux(和类 Unix系统)中用于设置文件和目录的权限。

首先,这里是 chmod 命令的通用语法:

chmod <permissions> <file or directory>

命令的权限部分可以有不同的格式。一种格式是一组数字,就像您在下面看到的那样:

chmod 755 <file or directory>

因此,我们已将 755 分配给命令的权限部分。

但是这是什么意思?

用户所有者和组所有者

要理解,让我们在当前目录中使用ls 命令来查看 Linux 提供的有关文件和目录的详细信息:

[myuser@localhost ~]$ ls -al
total 2592
drwxrwxr-x  5 myuser mygroup  4096 Nov 10 16:05 .
drwx------  6 myuser mygroup   225 Mar 10 23:50 ..
-rwxrwxr-x  1 myuser mygroup    39 Oct 26 13:13 test_script.sh 
drwxrwxr-x  6 myuser mygroup    98 Nov  8 18:09 data 

我用粗体突出显示了我们正在查看的文件和目录。

哪一个是文件,哪一个是目录?

该行的左侧部分以d开头,代表目录,以破折号 (-) 开头,代表文件

这条突出显示的行片段显示了用户所有者组所有者,在这种特定情况下,用户所有者是myuser,组所有者是mygroup

用户拥有者是谁创造的文件或目录的用户。该组所有者定义了访问文件或目录的组。

组的想法是多个用户可以属于它,因此具有相同的访问级别。

例如,公司中的组的一个示例可能是营销团队,其成员应该对文件和目录具有相同级别的访问权限。此访问权限由一组权限定义。

可以使用 chmod 命令设置与前面提到的相同的权限。

读、写和执行权限

所以,让我们再看看 ls 命令的输出:

[myuser@localhost ~]$ ls -al
total 2592
drwxrwxr-x  5 myuser mygroup  4096 Nov 10 16:05 .
drwx------  6 myuser mygroup   225 Mar 10 23:50 ..
-rwxrwxr-x  1 myuser mygroup    39 Oct 26 13:13 test_script.sh
drwxrwxr-x  6 myuser mygroup    98 Nov  8 18:09 data 

这次我们关注输出的第一部分,分配给文件和目录的权限

以下是分解权限的方法:

  • 字符 1:正如我们之前所说,它表示这是一个文件 ( - ) 还是一个目录 ( d )。
  • 2-4:用户所有者的权限(在本例中为rwx
  • 5-7:组所有者的权限(在本例中为rwx
  • 8-10:其他人的权限(任何不是用户所有者或不属于组所有者的用户 - 在这种情况下rx

是时候介绍权限的基本值(2-10 之间的字符):

  • r : 读取权限
  • w : 写权限
  • x : 执行权限

破折号 ( - ) 显示未设置的权限(例如rx表示设置了读取和执行权限但未设置写入权限)。

所以,如果我们回到我们的文件:

-rwxrwxr-x  1 myuser mygroup     39 Oct 26 13:13 test_script.sh

用户owner有读写执行权限,group owner有读写执行权限,其他人有读执行权限(不设置写权限)。

这同样适用于目录:

drwxrwxr-x  6 myuser mygroup     98 Nov  8 18:09 data

因此,请始终记住以三个字母为一组读取权限,这些字母始终遵循相同的逻辑顺序:r(读取)、w(写入)和 x(执行)

Chmod 使用的权限的八进制表示

那么,这与最初的问题有什么关系?

命令chmod 755是什么意思?

我们看到的使用字母r、w、x表示的权限也可以用八进制表示(使用数字 0 到 7)来表示。

这正是 755 的含义,用户所有者、组所有者和其他人的一组权限的八进制表示。

八进制数来自以下数字的总和:

  • 4为读权限
  • 2写权限
  • 1为执行权限

其中用户所有者、组所有者和其他人的权限是分开考虑的。

换句话说,用户所有者的权限总和将产生一个八进制数(从 0 到 7),这同样适用于组所有者其他人的权限。

这就是为什么我们最终得到 3 个八进制数(在它们之前可能还有第四个数字,但这超出了本教程的范围)。

回到 755,这是它的意思:

  • 7: 4 + 2 + 1 = 读 + 写 + 执行权限
  • 5: 4 + 1 = 读取 + 执行权限
  • 5: 4 + 1 = 读取 + 执行权限

是否有意义?

你会如何翻译权限 644 呢?

还请记住远离为所有人提供完全访问权限的权限 777。

出于明显的安全原因,不推荐对文件或目录使用 chmod 777 命令。

对文件和目录使用 Chmod 755 命令

现在我们知道了 755 的含义,让我们来看看这组权限对文件和目录的影响。

我们想从用户的角度了解在应用于文件或目录时读取、写入和执行权限的作用。

  • 读取权限
    • file:读取文件内容
    • 目录:列出目录的内容
  • 写权限
    • file:修改文件内容
    • 目录:对目录中的文件进行增删改名(假设对目录设置了执行权限)
  • 执行权限
    • 文件:定义一个可执行文件(例如一个 Bash 脚本)
    • 目录:访问目录

所以,您现在知道命令 chmod 755 对文件和目录的意义。

要完全理解它,请尝试创建一个文件和一个目录并尝试使用不同的权限。

根据您分配给它的权限,查看当您对文件或目录执行不允许的操作时 Linux shell 返回的任何错误。

递归 Chmod 755 命令

到目前为止,在我们所有的示例中,我们只使用了 chmod 755 命令,后跟权限集以及我们也应用这些权限的文件或目录。

有时您可能希望为一个目录及其下的所有文件和子目录分配相同的权限。

chmod 命令提供了一个标志,允许将权限更改递归地应用于您应用该命令的目录下的任何内容。

看一个例子……

...我创建了一个名为 test_dir 的目录:

drwxr-xr-x   5 myuser mygroup  160 Jul 23 23:56 test_dir

如您所见,目录的权限为 rwx (7)、rx (5) 和 rx (5)。

然后在这个目录中我创建了两个子目录(test_dir1 和 test_dir2)和一个文件(testfile)。

[myuser@localhost ~]$ ls -al test_dir/
total 0
drwxr-xr-x  5 myuser mygroup   160 Jul 23 23:56 .
drwxr-xr-x  3 myuser mygroup    96 Jul 23 23:56 ..
drwxr-xr-x  2 myuser mygroup    64 Jul 23 23:56 test_dir1
drwxr-xr-x  2 myuser mygroup    64 Jul 23 23:56 test_dir2
-rw-r--r--  1 myuser mygroup     0 Jul 23 23:56 testfile

如果我想确保 test_dir 目录中的所有内容都将权限设置为 755,我可以使用带有 -R 标志的 chmod 命令:

chmod -R 755 test_dir

这是运行命令后目录的内容:

[myuser@localhost ~]$ ls -al test_dir/
total 0
drwxr-xr-x  5 myuser mygroup   160 Jul 23 23:56 .
drwxr-xr-x  3 myuser mygroup    96 Jul 23 23:56 ..
drwxr-xr-x  2 myuser mygroup    64 Jul 23 23:56 test_dir1
drwxr-xr-x  2 myuser mygroup    64 Jul 23 23:56 test_dir2
-rwxr-xr-x  1 myuser mygroup     0 Jul 23 23:56 testfile

如您所见,文件 testfile 的权限已从 rw-r–r– (644) 更新为 rwxr-xr-x (755)。

说得通?

结论

在本文中涵盖了很多概念。现在你应该知道:

  • chmod 命令的用途。
  • 应用于 chmod 的数字 755 是多少?
  • 哪个命令赋予用户和组所有者一定的权限。
  • 如何使用八进制表示映射读取、写入和执行权限。
  • chmod 755 的含义适用于文件和目录。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。