学习 chmod命令设置Linux文件或目录访问权限

2023-07-0607:08:53服务器及运维Comments1,469 views字数 2222阅读模式

UNIX/Linux系统中,每个文件或目录都关联着3种类型的权限,这些权限控制着对它们的访问权限。这些权限是读取、写入和执行。这允许或防止用户读取文件或向文件写入。执行权限允许用户将文件作为脚本或可执行文件运行。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

在本教程中,我们将学习Linux中的chmod命令。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

什么是chmod命令

chmod命令用于更改Linux中文件系统对象(如文件和目录)的访问权限。它也用于更改特殊标志,如SUID、SGID和粘着位。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

您可以使用ls -l命令来检查由r、w和x表示的文件模式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

Linux文件权限

在Linux/Unix等类Unix操作系统中,每个文件和目录都由用户和组拥有。当我们谈论Linux文件权限时,涉及到文件所有者、组所有者和权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

有三个基于用户的权限组:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • 所有者 - 拥有文件或目录的用户。默认情况下,当用户创建文件或目录时,相同的用户将成为其所有者。
  • 组 - 拥有文件或目录的组。组中的所有成员将在文件或目录上具有相同的访问权限。
  • 其他 - 不是文件或目录所有者且不属于组的用户。这意味着“所有人”或以另一种方式说的“世界”。

使用chown命令可以更改文件和目录的所有权。要仅更改文件或目录的组,可以使用chgrp命令。默认的文件和目录权限基于umask设置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

每个文件或目录有三种文件权限类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • 读取
  • 写入
  • 执行

字符表示读取是r,表示写入是w,表示执行是x文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

读取权限

文件的读取权限表示可以打开和读取文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

目录(文件夹)的读取权限表示用户可以列出目录的内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

写入权限

文件的写入权限表示可以更改文件(更改或修改)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

目录的写入权限表示可以更改目录内容。例如,用户可以在目录中创建新文件、删除或重命名文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

执行权限

文件的执行权限表示可以执行文件。例如,用户可以执行程序或shell脚本文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

目录的执行权限表示用户可以更改(cd)到目录。但这不会允许用户列出目录内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

特殊权限模式

除了读取、写入和执行外,您还可以为文件和目录分配一些特殊权限模式。特殊权限模式包括SUID(setUID)、SGID(setGID)和粘着位。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

当文件上设置了SUID位时,文件始终以拥有文件的用户身份运行,而不是以启动程序的用户身份运行。使用SUID的Linux命令的一个示例是ls -l /usr/bin/passwd,当普通用户运行该命令时,会获得提升的特权。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

当文件上设置了SGID时,有效组将设置为文件的组。在执行程序时,用户将获得文件组权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

粘着位通常设置在目录上。一旦在目录上设置了粘着位,则该目录内的文件或目录只能由文件所有者或root更改。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

如何在Linux中执行chmod

chmod使用符号模式或数字模式来指定权限。您需要root、文件所有者或sudo用户特权才能更改文件权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

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

chmod数字模式也称为绝对模式。这是最常用的方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

读取、写入和执行分配具有特定值的数字,如下所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • 读取权限:4
  • 写入权限:2
  • 执行权限:1

这些数字可以组合在一起来表示权限组合,例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • 读取和写入权限:4+2=6
  • 读取、写入和执行权限:4+2+1=7

然后,将这些数字用于每个用户类别的权限组合,例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

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

要使用数字模式更改文件/目录权限,请按照以下步骤操作:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

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

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

符号模式是根据当前权限状态和指示符更改文件/目录权限的一种方法。符号模式包括以下指示符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • + 添加权限
  • - 删除权限
  • = 设置权限

符号模式还使用以下字符表示用户类别:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • u 文件所有者
  • g 文件所属组
  • o 其他用户
  • a 所有用户

要使用符号模式更改文件/目录权限,请按照以下步骤操作:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  1. 使用ls -l命令查看文件/目录的当前权限。
  2. 使用符号模式指定要更改的权限。例如,要将文件的所有者权限更改为读取、写入和执行,请使用符号模式chmod u+rwx filename
  3. 再次使用ls -l命令检查文件/目录的新权限是否已应用。

有用的chmod命令示例

让我们通过数字和符号方法检查一些使用chmod命令更改权限的示例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod 755 目录名

这相当于 chmod u=rwx,go=rx。为所有者设置读、写和执行权限(完全权限),为其他用户设置读和执行权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod +x 文件名

这相当于 chmod ugo+x 或 chmod u+x,g+x,o+x。为所有者、组和其他用户设置执行权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod 750 目录名

这相当于 chmod u+rwx,g=rx,o=。为所有者设置完全权限,为组设置读和执行权限,为其他用户设置无权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod u+rwx 目录名

忽略所有权限,为所有者设置读、写和执行权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod -R 700 目录名

递归地为目录的所有者设置完全权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod go-rwx 文件名

从文件中删除组和其他用户的读、写和执行权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod 644 文件名

为所有者分配读和写权限,并为文件的组和其他用户分配只读权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod g+x 文件名

将组成员的执行权限分配给文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

chmod go-rw 文件名

为文件删除用户和组类的读和写权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

结论

在本教程中,我们学习了Linux中的chmod命令。我们已经学习了Linux权限以及如何更改它们。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/50221.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/yunwei/50221.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定