如何在Linux中使用chmod命令
Linux 中的“chmod”命令使您能够控制脚本、目录和系统文件的访问。该命令用于更改Linux文件权限,这看起来是一个复杂的方法,但一旦了解了它的功能就很简单。在讨论 chmod 命令之前,我们先了解一下 Linux 文件权限的基础知识。
Linux中的文件权限是什么
文件权限是与文件关联的访问类型。 Linux 中的每个文件都有其所有者、组以及三种主要类型的用户的权限访问:文件所有者、组成员、 和其他。每个用户类别都具有三种类型的文件权限:读取、写入和执行权限。了解文件权限有助于您指定哪些用户可以执行、读取或写入该文件。
Linux下如何检查文件权限
“ls”用于检查系统上存在的文件的权限。要查看单个文件的权限,请将其名称添加到“ls”命令中。例如,我们将执行下面给出的命令来检查“testfile”的文件权限:
这里,添加“-l”选项来获取“testfile”的内容,包括其文件权限:
输出中的第一个字符指定条目类型,其中“–”代表“文件”,“ d”表示“目录”。然后我们有,三组九个字符,其中前三个字符集代表文件所有者权限,下一个字符集< 代表组权限,最后一组代表不属于前两类的其他用户的权限:
每组权限包含三个字符。如果字符为破折号“–”,则表示访问权限被拒绝。如果字符是“r”、“w”或“x”,则已向用户授予权限。权限集中的“r”表示用户只有读权限,即该文件只能打开和查看,使用“w”,您将拥有特定文件的写入权限,并且您将能够编辑, 修改和删除文件。最后,“x”字母代表执行权限;例如,如果您的文件是 C++ 程序或脚本,它将具有字母“x”的执行权限。
如果“ls”命令对任何集合显示“—”,则表示未授予任何权限。另一种情况是“rwx”表示授予所有类型的权限,包括读、写、执行。
现在您已经了解了一些与文件权限相关的背景知识,它将帮助您了解 chmod 命令更有效地工作。
Linux 中的 chmod 命令是什么
“chmod”是“更改模式”的缩写。它修改系统目录、文件和脚本的访问权限。 “chmod”命令具有确定修改权限的特定模式。这些模式由数字形式(字母)或符号形式(八进制数字)表示。当您使用数字形式的 chmod 命令时,它遵循以下给出的语法:
在数字表示中,我们有以下选项:
“0”代表“无权限”。
“1”代表“执行权限”。
“2”代表“写权限”。
“4”代表“读取权限”。
如果要使用符号表示,那么chmod命令语法将写成如下:
我们有以下符号形式的选项:
“u”表示文件所有者。
“g”表示组。
“o”表示其他。
“a”表示所有用户作为所有者、组和其他 (ugo)。
而 chmod 命令接受以下运算符:
“+”:该运算符用于添加指定权限。
“-”:该运算符用于删除指定权限。
“=”:该运算符用于为任何用户定义确切的文件权限。
现在,让我们看一下在 Linux 中以符号形式使用 chmod 命令的一些示例:
示例 1:使用 chmod 命令设置“仅由所有者读取”文件权限
在此示例中,我们将更改“testfile”的文件权限,以便只有所有者才能读取它。除此权限外,任何其他组或用户都不能读取、写入或执行此文件。即使所有者也无权在文件中执行和写入某些内容。为此,请使用“4”作为“只读”的数字表示形式,并将其放置在三个字符集的开头,并添加“0” ”对于“组”和“其他”模式不会向这些用户授予任何权限:
现在,使用“ls”命令中的“-l”选项列出文件权限系统:
第一个“-”表示“testfile”是一个文件,“r”表示只有文件所有者有权限读取该文件文件。您还可以检查组和其他用户是否没有任何关联的权限:
示例 2:使用 chmod 命令设置“仅按组读取”文件权限
将“4”作为“group”模式放置在“owner”和“others”模式的零之间。此序列会将“仅由组准备就绪”权限与文件关联:
使用下面给出的“ls”命令再次检查我们对“testfile”所做的更改:
这里“r”代表“read”权限:
同样,您可以通过在 chmod 命令中定义“004”模式来允许“仅供他人读取”文件权限。
示例 3:使用 chmod 命令设置“仅由所有者写入”文件权限
在模式的数字表示中,“2”表示“写”权限。将“2”放在权限集的开头,然后添加两个零:
执行此命令将只允许文件所有者写入测试文件:
使用“ls”命令确认更改的文件权限:
这里,“w”代表“write”权限:
同样,您可以使用“020”模式定义“仅由组写入”权限,并使用“ 002”模式。
示例 4:使用 chmod 命令设置“仅由所有者执行”文件权限
在 chmod 命令中,“1”数字代表执行模式。如果您想设置“仅由所有者执行”权限,请在终端中执行以下命令:
再次使用“ls”命令列出“testfile”的权限:
这里,“x”代表“执行权限”:
同理,如果您想将文件权限更改为“仅按组执行”,则将模式定义为“010”,以允许其他用户执行执行文件,在chmod命令中添加“001”作为权限模式:
示例 5:使用 chmod 命令设置“所有人读取”文件权限
使用符号链接,如果您将文件权限更改为“所有人读取”,则在终端中执行以下给出的命令:
这里“a”代表“所有用户”,“r”代表“读取”权限,“ +”操作符用于给指定用户添加读权限:
使用“ls”命令检查更改的文件权限:
示例 6:使用 chmod 命令设置“由所有者执行”文件权限
“u+x”权限模式表示将“执行”权限授予文件“所有者”:
现在,执行以下命令来验证文件权限更改:
所有者权限集中的“x”表示现在文件所有者拥有执行该文件的权限: