chmod命令详解

linux有三种类型的用户需要访问文件或文件夹,分别是:文件所有者、文件所有者所在组的其他用户、其他用户,每种类型的用户都有三种访问权限,分别是:读取(r)、写入(r)、运行(x),综合起来,一个文件需要有9种访问权限,chmod语法如下:

chmod[用户]操作(+或-或=)权限文件或目录

其中用户默认为a(所有用户),红色字体为一种模式(mod),mod可以有多个,用逗号分隔开,文件或目录可以用匹配符,如下示例:

chmod+x*.sh

给所有用户对shell脚本增加执行权限(否则脚本无法执行,报“没有权限”错误)

chmod+xjdk*.bin

给所有用户对jdk安装程序增加执行权限

chmod+xjdk-6u20-linux-i586-rpm.bin

给所有用户对jdk安装文件增加执行权限

chmodu-wx,g+w,o=rwfile

文件所有者去掉写入和运行权限

用户所在组的其他用户增加写入权限

其他用户替换为读取和写入权限

参数:-R

递归设置子目录或文件的权限

chmod-Ru-wx,g+w,o=rwfile

注意:

1、x权限的含义,对于文件是执行权限,对于目录是搜索权限

2、s设置用户(或组)的ID号;t设置粘着位(stickybit),防止文件或目录被非属主删除

如:chmodu+t,g-sfile

实际使用chmod命令的时候,往往使用另外一种方式进行,也就是把这9位权限按照3个一组分一个,变成3个八进制数,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限;还可设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户;2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户;1,设置粘着位,如下示例:

chmod777file

相当于

chmodu+rwx,g+rwx,o+rwxfile

给所有用户对file文件设置读取、写入、运行权限

相关推荐