修改文件访问控制权限
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
描述
chmod根据mode更改每个给定文件的文件模式位,mode可以是要进行更改的符号表示,也可以是表示新模式位的八进制数。
参数
mode权限设定如: [ugoa]*([-+=]([rwxXst]*
[ugo]))+
[-+=][0-7]+
u 文件属主权限g 同组用户权限o 其它用户权限a 所有用户(包括 属主/同组用户/其他组用户)+ 添加权限- 删除权限= 覆盖设置r 读权限 4w 写权限 2x 执行权限 1X 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行s 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限t 置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位-c, --changes
若该文件权限确实已经更改,才显示其更改动作
-f, --silent, --quiet
不显示错误信息即使该文件权限无法被更改
-v, --verbose
显示权限变更的详细信息
--no-preserve-root
默认对待根目录,允许递归操作
--preserve-root
禁止对根目录进行递归操作
--reference=RFILE
使用RFILE的文件的模式设定值
-R, --recursive
对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help
显示帮助文档
--version
显示版本信息
实战应用
属主权限:读写;同组用户权限:读写;其他组用户权限:读
berry@V3000:~/test$ ls -l总用量 0-rw-rw-r-- 1 berry berry 0 10月 6 19:37 a.txt 只给属主添加可执行权限
berry@V3000:~/test$ ls -l总用量 0-rwxrw-r-- 1 berry berry 0 10月 6 19:37 a.txt只给同组用户添加可执行权限,属主不可执行
berry@V3000:~/test$ chmod g+x a.txtberry@V3000:~/test$ ls -l总用量 0-rw-rwxr-- 1 berry berry 0 10月 6 19:37 a.txt只给其他组用户添加可执行权限
berry@V3000:~/test$ chmod o+x a.txtberry@V3000:~/test$ ls -l总用量 0-rw-rw-r-x 1 berry berry 0 10月 6 19:37 a.txt同时给不同用户设置可执行权限
erry@V3000:~/test$ chmod ugo+x a.txt 或 chmod a+x a.txtberry@V3000:~/test$ ls -l总用量 0-rwxrwxr-x 1 berry berry 0 10月 6 19:37 a.txtberry@V3000:~/test$ chmod ug-x,o+w a.txtberry@V3000:~/test$ ls -l总用量 0-rw-rw-rwx 1 berry berry 0 10月 6 19:37 a.txt