 
                
            Linux chmod命令详解
简介
chmod命令用来变更文件或目录的权限。
Linux一般有三种身份:
- u:文件的拥有者
- g:文件所属的群组
- o:其他用户
四种权限:
- r:读取文件的权限(read),数字代号是- 4
- w:写入文件的权限(write),数字代号是- 2
- x:执行的权限(execute),数字代号是- 1
- s:特殊权限
语法
chmod [options] mode files
只能文件属主或特权用户才能使用该功能来改变文件存取模式。
- mode可以是数字形式,比如:
chmod 777 files
每一个数字对应着文件的拥有者、所属群组以及其他用户的权限,数字的值即为权限数字代号相加的值。
- mode可以是字符形式,此时要指定用户名(没有指定为默认值,为a,所有用户),如果有多个用户,则用逗号分开,如:
chmod user1+rwx, user2+rwx files
其中options可以有以下取值:
- -c,--changes只输出被改变文件的信息
- -f,--silent,--quiet当chmod不能改变文件模式时,不通知文件的用户
- --help输出帮助信息。
- -R,--recursive可递归遍历子目录,把修改应到目录下所有文件和子目录
- --reference=filename参照filename的权限来设置权限
- -v,--verbose无论修改是否成功,输出每个文件的信息
- --version输出版本信息。
权限操作符
一共有三种权限操作符号:
- +增加权限
- -删除权限
- =重新分配权限
实例
# 给file的属主增加执行权限
chmod u+x file 
# 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限                     
chmod 751 file   
# 同上                   
chmod u=rwx,g=rx,o=x file 
# 为所有用户分配读权限     
chmod =r file  
# 同上                 
chmod 444 file    
# 同上              
chmod a-wx,a+r   file   
# 递归地给directory目录下所有文件和子目录的属主分配读的权限       
chmod -R u+r directory 
# 删除其他用户的执行权限          
chmod o-x file     
