Linux chmod命令
chmod用于管理文件或目录的权限,文件或目录权限的控制分别以读取(r)、写入(w)、执行(x)3种
可读可写可执行,抽象的用二进制来表示 1 代表拥有该权限,0 代表没有该权限,这样我们就可以看到
具有全部权限二进制可理解为 “111” 即 十进制的 “7”,只有读写权限二进制可理解为 “100” 即 十进制的 “4”
以此类推,其它的一致
1、权限范围
u,User 即文件或目录的拥有者
g,Group 即文件或目录的所属群组
o,Other 除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
a,All 即全部的用户,包含拥有者,所属群组以及其他用户
r 读取权限,数字代号为“4” 即 “100”
w 写入权限,数字代号为“2” 即 “010”
x 执行或切换权限,数字代号为“1” 即 “001”
- 不具任何权限,数字代号为“0” 即 “000”
2、用法
chmod [选项] [文件..]
3、目录选项
-c,--changes 效果类似“-v”参数,但仅回报更改的部分
-f,--quiet,--silent 不显示错误信息
-R,--recursive 递归处理,将指令目录下的所有文件及子目录一并处理
-v,--verbose 显示指令执行过程
--reference=<file> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
<权限范围>+<权限> 增加指定权限 (chmod u+r file)
<权限范围>-<权限> 删除指定权限 (chmod g-rw file)
<权限范围>=<权限> 等于指定权限 (chmod o=rwx file)
4、实例
1)增加1.txt 所属组的 写 权限
[root@mini ~]# ll 1.txt -rw-r--r--. 1 root root 0 7月 23 20:40 1.txt [root@mini ~]# chmod g+w 1.txt [root@mini ~]# ll 1.txt -rw-rw-r--. 1 root root 0 7月 23 20:40 1.txt
2)删除 2.txt 其他用户的 读 权限,同时增加所属组的写权限
-rw-r--r--. 1 root root 0 7月 23 20:40 2.txt [root@mini ~]# chmod o-r,g+w 2.txt [root@mini ~]# ll 2.txt -rw-rw----. 1 root root 0 7月 23 20:40 2.txt
3)修改 3.txt 的权限为 u=rwx,g=rw,o=-
[root@mini ~]# ll 3.txt -rw-r--r--. 1 root root 0 7月 23 20:40 3.txt [root@mini ~]# chmod u=rwx,g=rw,o=- 3.txt [root@mini ~]# ll 3.txt -rwxrw----. 1 root root 0 7月 23 20:40 3.txt
4)用数字 修改 4.txt 的权限
[root@mini ~]# ll 4.txt -rw-r--r--. 1 root root 0 7月 23 20:55 4.txt [root@mini ~]# chmod 777 4.txt [root@mini ~]# ll 4.txt -rwxrwxrwx. 1 root root 0 7月 23 20:55 4.txt [root@mini ~]# chmod 644 4.txt [root@mini ~]# ll 4.txt -rw-r--r--. 1 root root 0 7月 23 20:55 4.txt [root@mini ~]# chmod 0 4.txt [root@mini ~]# ll 4.txt ----------. 1 root root 0 7月 23 20:55 4.txt
5、说明
第一部分:第 1 位为文件类型,2~10位表示文件权限,234:用户权限,567:所组权限,789:其它用户权限
文件类型说明 -:普通文件,d:目录文件,b:块设备文件,c字符设备文件,l:符号链,p:管道特殊文件
第二部分:表示硬链接数
第三部分:oot表示文件拥有者,用户名
第四部分: root 表示文件的所属组
第五部分:最后表示文件的最后修改时间
第六部分:文件名