Code前端首页关于Code前端联系我们

了解 chmod 命令设置 Linux 文件或目录的访问权限

terry 2年前 (2023-09-28) 阅读数 75 #未命名

在 UNIX/Linux 系统中,每个文件或目录都关联有 3 类权限,分别控制它们的权限。这些权限是读、写和执行。这允许或阻止用户读取或写入文件。执行权限允许用户将文件作为脚本或可执行文件运行。

在本教程中,我们将学习 Linux 中的 chmod 命令。

什么是 chmod 命令

chmod 命令用于更改 Linux 中文件和文件夹等文件系统对象的访问权限。它还用于修改特殊标志,例如 SUID、SGID 和粘性位。

可以使用命令ls -l查看r、w、x代表的文件风格。

Linux 文件权限

在 Linux/Unix 等类 Unix 操作系统中,所有文件和文件夹均归用户和组所有。当我们谈论 Linux 中的权限时,有文件所有者、组所有者和权限。

存在三个基于用户的权限组:

  • 所有者 - 拥有文件或文件夹的用户。默认情况下,当用户创建文件或文件夹时,该用户仅成为所有者。
  • 组 - 拥有文件或文件夹的组。该组的所有成员对文件或文件夹都具有相同的访问权限。
  • 其他 - 不拥有该文件或文件夹且不属于该组的用户。它的意思是“每个人”或者换句话说“世界”。

使用chown命令更改文件和文件夹的属性。要仅更改文件或文件夹组,可以使用 chgrp 命令。文件和目录权限基于 umask 设置。

每个文件或文件夹有三种权限:

  • 读取
  • 写入
  • 执行

字符表示读取是

  • w,表明执行是x

    读权限

    文件的读权限意味着可以打开并读取该文件。

    文件夹读取权限是指用户可以读取文件夹的内容。

    写权限

    对文件的写权限意味着该文件可以被修改(编辑或修改)。

    文件夹的写权限意味着可以更改文件夹的内容。例如,用户可以创建新文件、删除或重命名文件夹中的文件。

    应用权限

    对文件应用权限意味着该文件可执行。例如,用户可以执行程序或 shell 脚本文件。

    对目录的执行权限意味着用户可以更改(cd)到该目录。但它不允许用户列出文件夹的内容。

    自定义权限模式

    除了读取、写入和执行之外,您还可以为文件和文件夹分配特殊的权限模式。具体的授权模型包括SUID(setUID)、SGID(setGID)和嵌入位。

    当文件上设置了 SUID 位时,文件始终以文件的用户身份运行,而不是以启动程序的用户身份运行。使用 SUID 的 Linux 命令的示例是 ls -l /usr/bin/passwd,普通用户使用该命令时会导致权限提升。

    当SGID设置为文件时,有效组设置为文件的组。运行程序时,用户被授予组权限。

    兔子通常放在文件夹中。一旦粘性兔子安装在文件夹中,只有文件所有者或 root 可以修改该文件夹内的文件或文件夹。

    如何在 Linux 中 chmod

    chmod 使用符号或数字方法来指定权限。您需要 root、文件所有者或 sudo 用户权限才能更改权限。

    chmod 使用数字模式更改文件/目录权限

    chmod 数字模式也称为绝对模式。这是最常用的方法。

    读取、写入和执行被分配具有特殊值的编号,如下所示:

    • 读取权限:4
    • 写入权限:2
    • 执行权限:1可以覆盖实际组:1的组合权限,例如:
      • 读写权限:4+2=6
      • 读、写、执行权限:4+2+1=7

      然后,这些数字用于合计权限每个用户类别,例如:

      • 文件所有者:7
      • 文件所属组:6
      • 其他用户:5

      要以数字方式更改文件/文本权限,请按照以下步骤操作:

      1. 使用命令 ls -l 检查文件/文本权限。
      2. 使用数字模式指定要更改的许可证。例如,要更改文件所有者的读取、写入和执行权限,请使用数字模式 chmod 700 filename
      3. 再次使用命令ls -l检查是否已应用新的文件/目录权限。

      chmod 使用符号模式更改文件/目录权限

      符号模式是一种根据当前方向和方向的权限状态来更改文件/目录权限的方法。示例模型包含以下指示:

      • +添加权限
      • -删除权限
      • =设置用户权限还设置用户权限U
    文件所有者
  • g 文件组由
  • o 其他用户拥有
  • a ♂图形风格,请按照以下步骤操作:
    1. 使用命令ls -l查看文件/目录权限。
    2. 使用符号方法指定要更改的权限。例如,要更改文件所有者的读、写和执行权限,请使用符号模式chmod u+rwx filename
    3. 再次使用命令ls -l检查是否已应用新的文件/目录权限。

    chmod 命令的有用示例

    让我们看一下使用数字和符号方法使用 chmod 命令更改权限的一些示例。

    chmod 755 目录名
    

    这相当于chmod u=rwx,go=rx。为所有者设置读、写、执行权限(完全权限),为其他用户设置读、执行权限。

    chmod +x 文件名
    

    这相当于 chmod ugo+xchmod u+x,g+x,o+x。设置所有者、组和其他用户的权限。

    chmod 750 目录名
    

    这相当于chmod u+rwx,g=rx,o=。设置完全所有者权限,读取和执行组权限,其他用户没有权限。

    chmod u+rwx 目录名
    

    忽略所有权限,将读、写、执行权限设置为owner。

    chmod -R 700 目录名
    

    为文件夹所有者设置完全权限。

    chmod go-rwx 文件名
    

    删除其他组和用户对文件的读、写和执行权限。

    chmod 644 文件名
    

    授予所有者读写权限,以及文件所在组和其他用户的只读权限。

    chmod g+x 文件名
    

    授予群组成员对文件的执行权限。

    chmod go-rw 文件名
    

    删除用户和组类对文件的读写权限。

    结论

    在本教程中,我们学习了 Linux 中的 chmod 命令。我们了解了 Linux 权限以及如何更改它们。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门