如何在Linux中使用chmod命令如何在Linux中使用chmod命令如何在Linux中使用chmod命令如何在Linux中使用chmod命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在Linux中使用chmod命令

Linux 中的“chmod”命令使您能够控制脚本、目录和系统文件的访问。该命令用于更改Linux文件权限,这看起来是一个复杂的方法,但一旦了解了它的功能就很简单。在讨论 chmod 命令之前,我们先了解一下 Linux 文件权限的基础知识。

Linux中的文件权限是什么

文件权限是与文件关联的访问类型。 Linux 中的每个文件都有其所有者、组以及三种主要类型的用户的权限访问:文件所有者、组成员、 和其他。每个用户类别都具有三种类型的文件权限:读取、写入和执行权限。了解文件权限有助于您指定哪些用户可以执行、读取或写入该文件。

Linux下如何检查文件权限

“ls”用于检查系统上存在的文件的权限。要查看单个文件的权限,请将其名称添加到“ls”命令中。例如,我们将执行下面给出的命令来检查“testfile”的文件权限:

$ ls -l testfile

这里,添加“-l”选项来获取“testfile”的内容,包括其文件权限:

输出中的第一个字符指定条目类型,其中“–”代表“文件”,“ d”表示“目录”。然后我们有,三组九个字符,其中前三个字符集代表文件所有者权限,下一个字符集< 代表组权限,最后一组代表不属于前两类的其他用户的权限:

每组权限包含三个字符。如果字符为破折号“–”,则表示访问权限被拒绝。如果字符是“r”、“w”或“x”,则已向用户授予权限。权限集中的“r”表示用户只有读权限,即该文件只能打开和查看,使用“w”,您将拥有特定文件的写入权限,并且您将能够编辑, 修改和删除文件。最后,“x”字母代表执行权限;例如,如果您的文件是 C++ 程序或脚本,它将具有字母“x”的执行权限。

如果“ls”命令对任何集合显示“—”,则表示未授予任何权限。另一种情况是“rwx”表示授予所有类型的权限,包括读、写、执行。

现在您已经了解了一些与文件权限相关的背景知识,它将帮助您了解 chmod 命令更有效地工作。

Linux 中的 chmod 命令是什么

“chmod”是“更改模式”的缩写。它修改系统目录、文件和脚本的访问权限。 “chmod”命令具有确定修改权限的特定模式。这些模式由数字形式(字母)或符号形式(八进制数字)表示。当您使用数字形式的 chmod 命令时,它遵循以下给出的语法:

$ chmod [Options] [Filename]

在数字表示中,我们有以下选项:

  • “0”代表“无权限”。

  • “1”代表“执行权限”。

  • “2”代表“写权限”。

  • “4”代表“读取权限”。

如果要使用符号表示,那么chmod命令语法将写成如下:

$ chmod [Option1] [Operator] [Option2] [Filename]

我们有以下符号形式的选项:

  • “u”表示文件所有者。

  • “g”表示组。

  • “o”表示其他。

  • “a”表示所有用户作为所有者、组和其他 (ugo)。

而 chmod 命令接受以下运算符:

  • “+”:该运算符用于添加指定权限。

  • “-”:该运算符用于删除指定权限。

  • “=”:该运算符用于为任何用户定义确切的文件权限。

现在,让我们看一下在 Linux 中以符号形式使用 chmod 命令的一些示例:

示例 1:使用 chmod 命令设置“仅由所有者读取”文件权限

在此示例中,我们将更改“testfile”的文件权限,以便只有所有者才能读取它。除此权限外,任何其他组或用户都不能读取、写入或执行此文件。即使所有者也无权在文件中执行和写入某些内容。为此,请使用“4”作为“只读”的数字表示形式,并将其放置在三个字符集的开头,并添加“0” ”对于“组”和“其他”模式不会向这些用户授予任何权限:

$ chmod 400 testfile

现在,使用“ls”命令中的“-l”选项列出文件权限系统:

$ ls -l testfile

第一个“-”表示“testfile”是一个文件,“r”表示只有文件所有者有权限读取该文件文件。您还可以检查组和其他用户是否没有任何关联的权限:

示例 2:使用 chmod 命令设置“仅按组读取”文件权限

将“4”作为“group”模式放置在“owner”和“others”模式的零之间。此序列会将“仅由组准备就绪”权限与文件关联:

$ chmod 040 testfile

使用下面给出的“ls”命令再次检查我们对“testfile”所做的更改:

$ ls -l testfile

这里“r”代表“read”权限:

同样,您可以通过在 chmod 命令中定义“004”模式来允许“仅供他人读取”文件权限。

示例 3:使用 chmod 命令设置“仅由所有者写入”文件权限

在模式的数字表示中,“2”表示“写”权限。将“2”放在权限集的开头,然后添加两个零:

$ chmod 200 testfile

执行此命令将只允许文件所有者写入测试文件:

使用“ls”命令确认更改的文件权限:

$ ls -l testfile

这里,“w”代表“write”权限:

同样,您可以使用“020”模式定义“仅由组写入”权限,并使用“ 002”模式。

示例 4:使用 chmod 命令设置“仅由所有者执行”文件权限

在 chmod 命令中,“1”数字代表执行模式。如果您想设置“仅由所有者执行”权限,请在终端中执行以下命令:

$ chmod 100 testfile

再次使用“ls”命令列出“testfile”的权限:

$ ls -l testfile

这里,“x”代表“执行权限”:

同理,如果您想将文件权限更改为“仅按组执行”,则将模式定义为“010”,以允许其他用户执行执行文件,在chmod命令中添加“001”作为权限模式:

$ chmod a-x testfile

示例 5:使用 chmod 命令设置“所有人读取”文件权限

使用符号链接,如果您将文件权限更改为“所有人读取”,则在终端中执行以下给出的命令:

$ chmod a+r testfile

这里“a”代表“所有用户”,“r”代表“读取”权限,“ +”操作符用于给指定用户添加读权限:

使用“ls”命令检查更改的文件权限:

$ ls -l testfile

示例 6:使用 chmod 命令设置“由所有者执行”文件权限

“u+x”权限模式表示将“执行”权限授予文件“所有者”:

$ chmod u+x testfile

现在,执行以下命令来验证文件权限更改:

$ ls -l testfile

所有者权限集中的“x”表示现在文件所有者拥有执行该文件的权限:

结论

©2015-2025 艾丽卡 support@alaica.com