chmod 777 是什么意思

2023-10-27

您正在尝试修复您的Web服务器的权限问题,并在互联网上找到了信息,说您需要递归chmod 777网络目录。在此之前,请确保您了解什么是chmod -R 777这样做,以及为什么永远不应该将权限设置为 777。

本文解释了基本的 Linux 权限模型以及权限对应的数字的含义。

了解 Linux 文件权限#

在 Linux 中,对文件的访问由操作系统使用文件权限、属性和所有权来控制。了解 Linux 文件系统权限模型使您可以将对文件和目录的访问限制为仅授权的用户和进程,并使您的系统更加安全。

每个文件都由特定用户和组拥有,并为三类不同的用户分配了权限访问权限:

  • 文件所有者。
  • 团体成员。
  • 其他人(其他所有人)。

存在适用于每个用户类别的三种文件权限类型,并允许您指定允许哪些用户读取文件、写入文件或执行文件。相同的权限属性适用于具有不同含义的文件和目录:

  • The read permission.
    • 该文件是可读的。例如,当设置读取权限时,用户可以在文本编辑器中打开该文件。
    • 可以查看该目录的内容。用户可以使用以下命令列出目录内的文件ls命令。
  • The write permission.
    • 该文件可以更改或修改。
    • 目录的内容可以更改。用户可以创建新文件 , 删除现有文件 , 移动文件 , 重命名文件 ..etc.
  • The execute permission.
    • 该文件可以被执行。
    • 可以使用以下命令进入该目录cd命令。

可以使用以下命令查看文件权限ls命令。这是一个例子:

ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr  8 20:51 filename.txt
|[-][-][-]-   [------] [---]
| |  |  | |      |       |
| |  |  | |      |       +-----------> 7. Group
| |  |  | |      +-------------------> 6. Owner
| |  |  | +--------------------------> 5. Alternate Access Method
| |  |  +----------------------------> 4. Others Permissions
| |  +-------------------------------> 3. Group Permissions
| +----------------------------------> 2. Owner Permissions
+------------------------------------> 1. File Type

第一个字符显示文件类型。它可以是一个常规文件(-), 目录 (d), a 符号链接 (l),或任何其他特殊类型的文件。

接下来的九个字符代表文件权限,三个三元组,每个三元组。第一个三元组显示所有者权限,第二个三元组显示组权限,最后一个三元组显示其他人权限。

许可号#

文件权限可以用数字或符号格式表示。在本文中,我们将重点讨论数字格式。

权限号可以由三位或四位数字组成,范围是0到7。

当使用 3 位数字时,第一个数字代表文件所有者的权限,第二个数字代表文件所属的组,最后一个数字代表所有其他用户。

写入、读取和执行权限具有以下数值:

  • r(读)= 4
  • w(写)= 2
  • x(执行)= 1
  • 无权限 = 0

特定用户类别的权限位数是该类别的权限值的总和。

权限编号的每一位可能是 4、2、1 和 0 的和:

  • 0 (0+0+0) – 没有权限。
  • 1 (0+0+1) – 仅执行权限。
  • 2 (0+2+0) – 仅写权限。
  • 3 (0+2+1) – 写入和执行权限。
  • 4 (4+0+0) – 只读权限。
  • 5 (4+0+1) – 读取和执行权限。
  • 6 (4+2+0) – 读写权限。
  • 7 (4+2+1) – 读、写、执行权限。

例如,如果权限号设置为750,则表示该文件的所有者有读、写、执行权限,文件所属组有读、执行权限,其他用户没有权限:

  • 所有者:rwx=4+2+1=7
  • 组:r-x=4+0+1=5
  • 其他:r-x=0+0+0=0

当使用 4 位数字时,第一位数字的含义如下:

  • setuid=4
  • setgid=2
  • sticky=1
  • 没有变化 = 0

接下来的三位数字与使用 3 位数字时的含义相同。如果第一位为0则可以省略,模式可以用3位数字表示。数字模式0755是相同的755.

要以数字(八进制)表示法查看文件的权限,请使用stat命令:

stat -c "%a" filename
644

切勿使用 chmod 777#

对文件或目录设置777权限意味着所有用户都可读、可写和可执行,可能会带来巨大的安全风险。

例如,如果递归地更改目录下所有文件和子目录的权限/var/www目录到777,系统上的任何用户都可以在该目录中创建、删除或修改文件。

如果您的 Web 服务器遇到权限问题,请不要递归地设置权限777,将文件的所有权更改为运行应用程序的用户,并将文件的权限设置为644和目录的权限755.

可以使用以下命令更改文件所有权chown命令和权限chmod命令。

假设您的服务器上有一个 PHP 应用程序,以用户“linuxize”运行。要设置正确的权限,您可以运行:

chown -R linuxize: /var/wwwfind /var/www -type d -exec chmod 755 {} \;find /var/www -type f -exec chmod 644 {} \;

只有 root、文件所有者或具有 sudo 权限的用户才能更改文件的权限。使用时要格外小心chmod,尤其是在递归更改权限时。

结论#

如果您正在管理 Linux 系统,了解 Linux 权限的工作原理至关重要。

你永远不应该设置 777 (rwxrwxrwx) 权限 文件和目录权限。 777 意味着任何人都可以对这些文件执行任何操作。

如果您有任何疑问,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chmod 777 是什么意思 的相关文章

随机推荐

  • 如何在 Fedora 上安装 Apache Solr

    Apache Solr 是一个基于名为 Lucene 的 Java 库构建的开源搜索平台 Solr 是一个流行的网站搜索平台 因为它可以索引和搜索多个网站 并根据搜索查询的分类返回相关内容的推荐 本指南将引导您完成在 Fedora 系统上安
  • 如何在Linux中使用zip命令

    The zipLinux 中的命令是一个实用程序 用于将一组文件打包到 zip 存档中 zip 命令还可以用于压缩文件 从而减少它们在计算机硬盘上占用的空间 此外 zip命令可用于加密文件 使未经授权的用户更难以访问zip存档的内容 要解压
  • 如何在 Django 中设置环境变量

    Django 是基于 Python 构建的强大 Web 框架 提供开箱即用的强大功能 它最重要但有时被忽视的功能之一是它能够使用环境变量处理配置 环境变量提供了一种在代码库之外设置配置的方法 从而提供更好的安全性和灵活性 本文旨在简化 Dj
  • Linux 中的 dig 命令及有用示例

    dig 代表 Domain Information Groper 是一个用于收集域名服务器信息的命令行网络工具 dig 命令是另一个强大的工具 类似于nslookup用于诊断 dns 相关问题 我们可以使用 dig 命令查询各种 dns 服
  • 在 Apache 中启用 .htaccess 的综合指南:配置、最佳实践和用例

    htaccess 文件是一个功能强大的配置工具 允许您控制和自定义 Apache Web 服务器上网站行为的各个方面 本指南将介绍如何在 Apache 中启用 htaccess 讨论最佳实践并提供常见用例示例 以帮助您充分利用此功能 1 了
  • 如何在 cPanel/WHM 中全局启用 Gzip 压缩

    Apache mod deflate模块负责 DEFLATE 输出过滤器 允许服务器的输出在通过网络发送到客户端之前进行压缩 mod deflate是替代mod gzip它与旧版本的 Apache 一起使用 仅具有 cPanel 访问权限的
  • JavaScript 中 var、let 和 const 有什么区别?

    变量声明只是告诉计算机变量存在以及它应该以什么值开始 与其他编程语言类似 JavaScript 也允许声明变量 JavaScript 中可以使用三个关键字来声明变量 let var 和 const 每个关键字对于如何使用它们创建的变量都有不
  • 升级 Fedora:分步教程

    如果您是 Fedora 的新用户 您可能不知道它有不同的版本 Fedora 的最新版本称为 主 版本 也称为 当前 版本 这意味着开发人员发布了以前的版本 用户可以从较低版本升级到该版本 在本文中 我们将了解如何升级 Fedora 版本 继
  • 如何在 Windows 上创建可启动 CentOS U 盘

    本教程将引导您完成在 Windows 上创建可启动 CentOS USB 记忆棒的过程 您可以使用此 USB 记忆棒在任何支持从 USB 启动的计算机上启动并测试或安装 CentOS 先决条件 8GB 或更大的 USB 记忆棒驱动器 Mic
  • 如何在 Ubuntu 20.04 上安装 Go

    Go 通常被称为golang是由 Google 创建的现代开源编程语言 可让您构建可靠且高效的应用程序 Go 是一种编译语言 这意味着您需要编译源代码以创建用于运行软件的可执行文件 许多流行的应用程序 例如 Kubernetes Docke
  • 如何在 Ubuntu 20.04 上安装 Atom 文本编辑器

    Atom是由 GitHub 开发的开源 跨平台代码编辑器 它有一个内置的包管理器 嵌入Git控制 智能自动完成 语法突出显示和多个窗格 从本质上讲 Atom 是一个基于 Electron 构建的桌面应用程序 使用 HTML JavaScri
  • 创建 Linux 交换文件

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 大多数情况下 在虚拟机上运行 Linux 时 不存在交换分区
  • 如何在 Vim / Vi 中删除行

    Vim 或其前身 Vi 预装在大多数 Linux 发行版和 macOS 上 如果您是系统管理员或普通 Linux 用户 了解 Vim 的基础知识非常重要 很多时候 在处理文本文件时 您需要删除一行或多行 本文介绍如何在 Vim Vi 中删除
  • 如何使用 Linux 命令行文本编辑器 Nano

    使用命令行时 您经常需要创建或编辑文本文件 Vim 和 Emacs 是两个最强大和流行的命令行编辑器 它们都有一个陡峭的学习曲线 可能会让新用户感到害怕 对于那些需要简单编辑器的人来说 有 nano GNU nano 是一款适用于 Unix
  • Bash 等待命令

    wait是等待给定作业完成并返回的命令退出状态等待的命令 自从wait命令影响当前 shell 执行环境 它在大多数 shell 中作为内置命令实现 在本文中 我们将探讨 Bash 内置功能wait命令 Bash wait命令 的一般语法w
  • 如何在 Ubuntu 18.04 上安装 Nginx

    Nginx 发音为 engine x 是一个免费 开源 高性能的 HTTP 和反向代理服务器 负责处理互联网上一些最大网站的负载 Nginx 可以用作独立的 Web 服务器 也可以用作反向代理 for Apache和其他网络服务器 与 Ap
  • 如何在 Linux 中列出 Cron 作业

    Cron 是一个调度守护程序 允许您安排按指定时间间隔执行任务 这些任务称为 cron 作业 可以安排按分钟 小时 每月的某一天 每月 每周的某一天或这些的任意组合运行 Cron 作业通常用于执行系统维护操作 例如 可以设置 cron 作业
  • 如何在 Ubuntu 18.04 上安装 Eclipse IDE

    Eclipse是使用最广泛的Java集成开发环境 IDE 它可以通过插件进行扩展 也可以用于其他编程语言的开发 例如 C JavaScript 和PHP Ubuntu 存储库中提供的 Eclipse 安装包 版本 3 8 1 已过时 最简单
  • 设置 Nginx 反向代理

    反向代理是一种接受客户端请求 将请求发送到一个或多个代理服务器 获取响应并将服务器的响应传递给客户端的服务 由于其性能和可扩展性 NGINX 通常用作 HTTP 和非 HTTP 服务器的反向代理 典型的反向代理配置是将Nginx放在前面No
  • chmod 777 是什么意思

    您正在尝试修复您的Web服务器的权限问题 并在互联网上找到了信息 说您需要递归chmod 777网络目录 在此之前 请确保您了解什么是chmod R 777这样做 以及为什么永远不应该将权限设置为 777 本文解释了基本的 Linux 权限