Linux chmod命令:修改文件或目录的权限

  • 应用分类
  • 游戏分类

Linux chmod命令:修改文件或目录的权限

作者:地瓜哥浏览数:2019-03-02 00:00:00

chmod 是修改权限的命令,其基本信息如下:
命令名称:chmod。
英文原意:change file mode bits。
所在路径:/bin/chmod。
执行权限:所有用户。
功能描述:修改文件的权限模式。

命令格式

[root@localhost ~]# chmod [选项] 权限模式 文件名

选项

  • -R:递归设置权限,也就是给子目录中的所有文件设定权限

权限模式

chmod 命令的权限模式的格式是"[ugoa] [[+-=] [perms]]",也就是"[用户身份][[赋予方式][权限]]"的格式,我们来解释一下。

用户身份
  • -u:代表所有者(user)。
  • -g:代表所属组(group)。
  • -o:代也人(other)。
  • -a:代表全部身份(all)。

赋予方式
  • -+:加入权限。
  • --:减去权限。
  • -=:设置权限。

权限
  • -r:读取权限(read)。
  • -w:写权限(write)。
  • -x:执行权限(execute)。

这里我们只讲解基本权限,至于特殊权限(如 suid 、sgid 和 sbit 等),我们会在后续章节详细讲解。

下面举几个例子。
【例 1】用"+"加入权限。

[root@localhost ~]# touch lmls
#建立测试文件
[root@localhost ~]# ll lmls
-rw-r--r--1 root root 0 6月 15 02:48 lmls
#这个文件的默认权限是"所有者:读、写权限;所属组:只读权限;其他人:只读权限"
[root@localhost ~]# chmod u+x lmls
#给所有者加入执行权限
[root@localhost ~]# ll lmls-rwxr--r-- 1 root root 0 6月 15 02:48 lmls
#权限生效


【例 2】给多个身份同时加入权限。

[root@localhost ~]# chmod g+w,o+w lmls #给所属组和其他人同时加入写权限
[root@localhost ~]# ll lmls
-rwxrw-rw-1 root root 0 6月 15 02:48 lmls
#权限生效


【例 3】用"-"减去权限。

[root@localhost ~]# chmod u-x, g-w, o-w lmls
#给所有者减去执行权限,给所属组和其他人都减去写权限,也就是恢复默认权限
[root@localhost ~]#ll lmls
-rw-r--r-- 1 root root 0 6月 15 02:48 lmls


【例 4】用"="设置权限。
大家有没有发现,用"+-"赋予权限是比较麻烦的,需要先确定原始权限是什么,然后在原始权限的基础上加减权限。有没有简单一点的方法呢?可以使用"="来设定权限,例如:

[root@localhost ~]# chmod u=rwx, g=rw, o=rw lmls
#所有者赋予权限"rwx",给所属组和其他人赋予权限"rw"
[root@localhost ~]# ll lmls
-rwxrw-rw-1 root root 0 6月 15 02:48 lmls

使用"="赋予权限,确实不用在原始权限的基础行加减了,但是依然要写很长一条命令,笔者依然觉的不够简单,还可以使用数组权限的方式来赋予权限。

数字权限

数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。

我们来看看这些数字权限的含义,
  • 4:代表"r"权限。
  • 2:代表"w"权限。
  • 1:代表"x"权限。

举个例子:

[root@localhost ~]# chmod 755 lmls
#给文件赋予"755权限"
[root@localhost ~]#ll lmls
-rwxr-xr-x 1 root root 0 6月15 02:48 lmls

解释一下"755权限":
  • 第一个数字"7":代表所有者的权限是"4+2+1",也就是读、写和执行权限。
  • 第二个数字"5":代表所属组的权限是"4+1",也就是读和执行权限。
  • 第三个数字"5":代表其他人的权限是"4+1",也就是读和执行权限。

数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个:
  • 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
  • 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限。
  • 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。

我们很少会使用"457"这样的权限,因为这样的权限是不合理的,怎么可能文件的所有者的权限还没有其他人的权限大呢?所以,除非是实验需要,否则一般情况下所有者的权限要大于所属组和其他人的权限。

相关软件

相关文章

推荐文章