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

SOASPX 10149 0

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

Linux教程:chmod命令修改文件或目录的权限-第1张图片-.net教程网

命令格式

[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"这样的权限,因为这样的权限是不合理的,怎么可能文件的所有者的权限还没有其他人的权限大呢?所以,除非是实验需要,否则一般情况下所有者的权限要大于所属组和其他人的权限。

标签: linux

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~