Linux/Unix 的文件调用权限分为三级:文件拥有者、群组、其他。利用chmod可以控制文件如何被他人所调用。
语法:
chmod [-cfvR][--help] [--version] mode file...
mode:
权限设定子串,格式为:[ugoa...][[+-=][rwxX]...][,...]
参数说明:
- u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群组,o表示其他以外的人,a表示这三者皆是。
- +表示增加权限,-表示取消权限,=表示唯一设定权限
- r表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明: - -c:若该文件权限确实已经更改,才显示其更改动作
- -f:若该文件权限无法被更改也不要显示报错信息
- -v:显示权限变更的详细资料
- -R:对当前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
- –help:显示辅助说明
- –version:显示版本号
案例:
- 将文件file.txt设为所有人皆可读取:
chmod ugo+r file.txt
或chmod a+r file.txt
- 将文件file1.txt 与file2.txt设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
- 将start.sh设定为只有该文件拥有者可以执行:
chmod u+x start.sh
- 将当前目录下的所有文件与子目录都设为任何人可读取:
chmod -R a+r *
此外chmod也可以用数字来表示权限,如:chmod 777 file
语法:
chmod abc file
其中,abc各位一个数字,分别表示User、Group、Other的权限
r=4,w=2,x=1
- 若要rwx属性则4+2+1=7
- 若要rw-属性则4+2=6
- 若要r-x属性则4+1=5
案例:
- chmod a=rwx file 等同于 chmod 777 file
- chmod ug=rwx,o=x file 等同于 chmod 771 file
- 若用chmod 4755 filename 可使此程序具有root权限
参考文献:https://www.runoob.com/linux/linux-comm-chmod.html
欢迎关注我的微信公众号,里面有很多干货,各种面试题