chmod
命令用于更改Linux操作系统中文件和目录的访问权限。 chmod
表示更改模式。访问权限指定用户帐户或组是否可以读取、写入或执行给定的文件和目录。
chmod命令语法
的语法 chmod
命令如下。
chmod OPTIONS PERMISSIONS FILE
Linux文件和文件夹访问角色
在管理文件和目录的访问权限时,我们应该指定角色。权限被设置并绑定到给定的角色。在Linux中,存在以下访问权限角色。
-
owner
指定文件或目录所有者。它可以与ls -l
命令。 -
group
指定文件或目录组所有者。文件和目录组所有者可以与一起列出ls -l
. -
other
指定所有用户帐户和组,这意味着所有其他世界。在给予这个角色特权的同时要谨慎。
Linux文件和文件夹访问模式
在Linux中,有三种访问模式。访问模式指定给定用户或组访问文件或目录的方式。
-
read
模式指定读取文件或目录。 -
write
模式指定写入和更改文件或目录 -
execute
模式指定执行文件
列出文件和文件夹访问权限
在开始更改权限之前,我们需要列出当前角色以及有关文件和目录的权限。我们将使用 ls -l
命令列出权限。在本例中,我们将列出所有当前工作目录文件和文件夹权限。
$ ls -l

我们可以看到所有者用户和组 ismail
第一列是 --rw-r--r--
显示用户、组和其他权限。
-
-
是用户位还是组位 -
rw-
是所有者权限。在这里read
和write
允许 -
r--
是组权限。仅限read
允许 - 最后
r--
是其他许可。仅限read
已给予许可。
相关文章: Linux ulimit命令教程
更改文件和文件夹用户访问权限
现在这些提供的信息足以理解文件和目录权限。在本例中,我们将更改单目录权限。我们将更改名为的文件的用户权限 ping.txt
. 我们将使用 u
指定用户。 +
表示添加权限。 x
意思是执行权限。
$ chmod u+x ping.txt
更改文件和文件夹组访问权限
我们可以使用权限更改文件或目录 g
选项。在本例中,我们将删除文件的组读取权限 ping.txt
.
$ chmod g-r ping.txt
-
g
用于指定组 -
-
用于删除给定的权限 -
r
用于指定读取权限
更改文件和文件夹的多个组和用户访问权限
我们可以在一个chmod命令中更改多个角色的权限。我们会用命令来划定他们的界限。
$ chmod g-r,u+x ping.txt
递归更改文件和文件夹访问权限
逐个更改文件和目录权限是一项琐碎的任务。我们可以用 -r
选项以递归方式使所有子目录生效。在下面的示例中,我们更改所有给定的名为test的目录 及其子目录权限。
$ chmod -r g-r test
添加文件和文件夹访问权限
我们已经看到了,但我想强调添加权限操作。 +
在角色和权限之间,用于向给定角色添加权限。在本例中,我们向用户添加了执行ping.txt的权限
$ chmod u+x ping.txt
删除文件和文件夹访问权限
-
“角色和权限之间”用于删除给定角色的权限。在本例中,我们从文件ping.txt中删除用户执行权限
$ chmod u-x ping.txt
从其他文件复制权限
如果我们已经设置了一些文件权限,我们可以使用此文件作为权限的参考点。我们可以将给定的文件权限复制到指定的文件。我们将使用 --reference
选项和引用文件名。在这个例子中,我们将使用run 文件权限作为要应用到的引用 run2
.
$ chmod --reference=run run2
使用数字访问权限
到目前为止,我们有用户 u
, g
和 o
对于角色和 x
, w
, r
获取权限。还有另外一个演示。我们将用三位数来表示 u
, g
, o
像540这样的角色说明。在这里 5
是给用户的, 5
是 对于组
对其他人来说。
-
r
价值是4
-
w
价值是2
-
x
价值是1
所以如果我们想给 r
和 w
我们将它们的数值相加,即 6
.
相关文章: Linux Su命令教程及示例
这里有一些例子
-
x w
等于3 -
r x
等于5
对Chmod使用数值
我们可以使用前面解释的数值 chmod
. 我们只提供与命令相关的值。在本例中,我们只希望用户具有读、写和执行权限,而不希望用户拥有其他权限。
$ chmod 700 executable
为所有角色授予所有权限
我们可以将所有权限授予所有角色,这意味着用户、组和其他人可以读、写和执行。这是非常不安全和危险的行动。我们将使用 777
$ chmod 777 file