chmod 是修改权限的命令,其基本信息如下: 命令名称:chmod。 英文原意:change file mode bits。 所在路径:/bin/chmod。 执行权限:所有用户。 功能描述:修改文件的权限模式。
bash[root@localhost ~]# chmod [选项] 权限模式 文件名
选项
chmod 命令的权限模式的格式是"[ugoa] [[+-=] [perms]]",也就是"[用户身份][[赋予方式][权限]]"的格式,我们来解释一下。
用户身份:
赋予方式:
权限:
这里我们只讲解基本权限,至于特殊权限(如 suid 、sgid 和 sbit 等),我们会在后续章节详细讲解。
下面举几个例子。 【例 1】用"+"加入权限。
bash[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】给多个身份同时加入权限。
bash[root@localhost ~]# chmod g+w,o+w lmls #给所属组和其他人同时加入写权限
[root@localhost ~]# ll lmls
-rwxrw-rw-1 root root 0 6月 15 02:48 lmls
#权限生效
【例 3】用"-"减去权限。
bash[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】用"="设置权限。 大家有没有发现,用"+-"赋予权限是比较麻烦的,需要先确定原始权限是什么,然后在原始权限的基础上加减权限。有没有简单一点的方法呢?可以使用"="来设定权限,例如:
bash[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
使用"="赋予权限,确实不用在原始权限的基础行加减了,但是依然要写很长一条命令,笔者依然觉的不够简单,还可以使用数组权限的方式来赋予权限。
数字权限
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。
我们来看看这些数字权限的含义,
举个例子:
bash[root@localhost ~]# chmod 755 lmls
#给文件赋予"755权限"
[root@localhost ~]#ll lmls
-rwxr-xr-x 1 root root 0 6月15 02:48 lmls
解释一下"755权限":
数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个:
我们很少会使用"457"这样的权限,因为这样的权限是不合理的,怎么可能文件的所有者的权限还没有其他人的权限大呢?所以,除非是实验需要,否则一般情况下所有者的权限要大于所属组和其他人的权限。
本文作者:Eric
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!