使用权限:所有角色
使用方式:chmod [ -cfvR ] [ --help ] [ --version ] mode file...
作用:该命令用于在Linux中管理和变更角色对文档的存取权限
注意点:在Linux/Unix中档案存取权限分为三级:档案拥有者(u) / 群组(g) / 其他(o);chmod命令用于某个文档的存取权限进行设置
关键点:
1.全局控制 [ -cfvR ]
(1)-c : 若该档案权限已经发生更改,则显示其更改动作(发生改变时显示更改动作,没发生改变时不显示)
(2)-f : 若该文档权限无法变更,发生错误时不显示错误讯息(始终不显示错误讯息)
(3)-v : 显示权限变更的详细信息(始终显示变更信息)
(4)-R : 对当前目录下的所有档案与子目录进行相同的权限变更动作(递归变更)
2.--help : 显示命令帮助
3.--version : 显示当前命令版本
4.权限设定 mode 字符串格式 [ ugoa... ][[ +-= ][ rwxX ]...][ ,... ]
(1)[ ugoa... ] 用户
i. u表示该档案的拥有者,或者说是创建者
ii. g表示同该档案的拥有者同属一个群组的用户
iii. o表示除了拥有者和群组以外的人
iv. a表示所有人
(2)[ +-= ] 权限增减
i. +表示增加权限
ii. -表示取消权限
iii. =表示指定唯一权限
(3)[ rwxX ] 具体权限
i. r表示可读
ii. w表示可写
iii. x表示可执行
iv. X表示只有该文档是个子目录或者被设定过为可执行时,该文件可执行
使用示例:
1.将档案file1.txt设为所有人可读取
(1)chmod ugo+r file1.txt
(2)chmod a+r file1.txt
2.将档案file1.txt设置为只有其拥有者和拥有者所属群组可写,其他以外的人不可写
chmod ug+w,o-w file1.txt
3.将档案hello.java设置为只有其拥有者才能执行
chmod u+x hello.java
4.将当前目录下的所有档案和子目录设为所有人都可以读取
(1)chmod -R ugo+r *
(2)chmod -R a+r *
扩展使用方式:
1.语法 : chmod abc file
2.说明 : abc分别代表User/Group/Other的权限,abc的值由其读写和可执行权限的值之和表示,其中r=4,w=2,x=1,其计算方式可以用下图来表示
r(4)
w(2)
x(1)
权限值
u(User)
r1
w1
x1
r1+w1+x1
g(Group)
r2
w2
x2
r2+w2+x2
o(Other)
r3
w3
x3
r3+w3+x3
3.使用示例
(1)将档案file1.txt设置为只有其拥有者和拥有者所属群组可写,其他以外的人不可写
原方式 : chmod ug+w,o-w file1.txt
扩展方式 : chmod 220 file1.txt
(2)chmod a=rwx file1.txt
扩展方式 : chmod 777 file1.txt
(3)chmod ug=rwx,o=x file1.txt
扩展方式 : chmod 771 file1.txt
总结:chmod命令用于改变文档的读写和可执行权限,其全称为change mode;chmod命令由两部分组成,一是全局控制 [ -cfvR ],二是权限控制 mode ;其中,权限控制字符串的表示有两种方式,一是通过[ ugoa ][[+-=][rwxX]...][,...]的形式,二是通过 chmod abc filename 的形式;用户可根据自己的习惯进行选择;如果用户需要把文档设置为root用于方可操作和读写,不妨试试 chmod 4755 filename;