多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 通过chmod改变文件权限 * * * * * Linux文件的三种身份和四种权限,三种身份分别为: * u:文件的拥有者 * g:文件所属的群组 * o:其他用户 对于每个身份,又有四种权限,分别为: * r:读取文件的权限(read) * w:写入文件的权限(write) * x:执行的权限(execute) * s:特殊权限 在Linux文件权限详解中我们知道Linux中有两种表示文件权限的方式,分别为数字以及符号表示方式。 #### chmod以数字形式改变文件权限 ~~~ chmod 755 test.sh ~~~   将755换算成字符形式,为rwxr-xr-x,也就是说文件的拥有者、所属群组以及其他用户都可以读取与运行test.sh这个文件,但是只有拥有者自己可以写入这个文件,也就是其他人无权修改test.sh这个文件。(当然root用户无此限制,想改谁就该谁,这也是一个体现root账号至高无上权力的体验!)   通过数学形式改变文件的权限比较简单,只要实现算好需要给文件赋予的权限,然后调用chmod指令即可,调用形式为: > chmod 新的权限 文件列表 #### chmod以字符形式改变文件权限 ~~~ chmod +x test.sh ~~~   数学形式可以一次改变文件的所有三种身份的四种权限,而字符形式则更为灵活,可以给某个身份的某个权限单独进行设置,例如上面的指令就是给三种身份都赋予执行的权限,你也可以分开单独设置: ~~~ chmod u+x test.sh  只给拥有者加上可执行权限 chmod g+x test.sh  只给群组身份加上可执行权限 chmod o+x test.sh  只给其他人身份加上可执行权限 ~~~ 以上三条指令综合在一起等价于上面的那一条指令,都是给所有身份都开启可执行权限的功能,也可以像下面这样来操作: ~~~ chmod a+x test.sh ~~~ 这里的a就代表所有的三种身份! 如果要去掉某个身份的某个权限,只需要将+变为-即可,例如去除其他人身份的可执行权限: ~~~ chmod o-x test.sh ~~~ 对于读取、写入等权限,按照以上方式多进行练习即可,chmod通过字符形式改变文件权限的操作见下表: |chmod|u<br/>g<br/>o<br/>a|+(加上) <br/>-(减去)<br/>=(设定)|r <br/>w<br/>x|文件或目录 |-|-|-|-|--| 综合示例: ~~~ chmod u=rwx,g+rx,o-x test.sh ~~~