本篇内容介绍了“Linux的chmod命令使用实例”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

chmod用于管理文件或目录的权限,文件或目录权限的控制分别以读取(r)、写入(w)、执行(x)3种。

权限范围及代号

文件及目录的权限范围,包括:

u:User,即文件或目录的拥有者;
g:Group,即文件或目录的所属群组;
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a:All,即全部的用户,包含拥有者、所属群组以及其他用户。

权限的代号包括:

r:读取权限,数字代号为4
w:写入权限,数字代号为2
x:执行或切换权限,数字代号为1
-:不具任何权限,数字代号为0
s:当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限。
语法及选项说明
chmod语法:
chmod [-cfRv][--help][--version][+/-/=][文件或目录...]
chmod [-cfRv][--help][--version][数字代号][文件或目录...]
chmod [-cfRv][--help][--reference=][--version][文件或目录...]
选项说明:
-c--changes:效果类似-v参数,但仅返回更改的部分;
-f--quiet--silent:不显示错误信息;
-R--recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v--verbose:显示指令执行过程;
--help:显示在线帮助信息;
--reference=:把指定文件或目录的权限全部设成和参考文件或目录的权限相同;
--version:显示版本信息;
+:开启权限范围的文件或目录的该项权限设置;
-:关闭权限范围的文件或目录的该项权限设置;
=:指定权限范围的文件或目录的该项权限设置。
示例

首先,我们通过ls -l命令来看看文件及目录的相关信息:

lsl

如上图所示,以其为例,我们依次来分析各内容代表的含义,

第 1 行:total 16,表示所列出内容的磁盘占用空间总和值,单位为KB
第 1 列:dr-xr-xr-x,表示文件或目录的类型及权限;
第 2 列: 4,表示文件或目录的链接个数;
第 3 列:bin.guo,表示文件或目录的所有者;
第 4 列:staff,表示文件或目录的所在群组;
第 5 列:136,表示文件或目录本身的大小;
第 6 列:Nov 24 11:26,表示文件或目录的最后更新时间;
第 7 列:a,表示文件或目录的名称。

其中 第 1 列 的内容(除total外)特别丰富,以dr-xr-x-r-x为例(共 10 个字符),我们对其进一步分析:

第 1 个字符d,表示文件或目录的类型,其类型包括
p,表示命名管道文件;
d,表示目录文件;
l,表示符号连接文件;
-,表示普通文件;
s,表示 Socket 文件;
c,表示字符设备文件;
b,表示块设备文件。
第 2 ~ 4 个字符r-x,表示文件或目录的所有者权限;
第 5 ~ 7 个字符r-x,表示文件或目录的所有者同组用户权限;
第 8 ~ 10 个字符r-x,表示文件或目录的其他用户权限。

此外,大家可能还注意到有些文件或目录在其显示的权限后面还跟着一个字符,或者为.或者为@,具体:

在 Mac 终端中显示为@
在 Linux 系统中显示为.

这表示其所属的文件或目录开启了SELinux安全上下文标签,如果没有,则表示未开启。

接下来,演示一些具体的操作示例:

示例 1:添加所有用户对test-one的执行权限
xxxx
示例 2:取消test-one所有者群组用户的执行权限及其他用户的写入权限
gxow
示例 3:递归取消文件夹a的所有用户的执行权限
ccccc
示例 4:添加所有用户对test-one的所有权限
777
示例 5:取消test-one所有者的执行权限及其他用户的所有权限
670

“Linux的chmod命令使用实例”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!