在linux系统下进程遇到查看文件的权限、修改文件的权限以及修改文件的所有者等操作,主要涉及到chmod、chgrp、chown三个命令。本文简单讲述下这三个命令的使用。
关于如何查看文件的权限问题在
Linux命令之ls一文中已经做了解释
- chgrp 修改文件所属组
- chown 修改文件所有者
- chmod 修改文件属性
一、
chgrp 使用说明 用法:chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
或者:chgrp [-cfhRv][--help][--reference=参考文件或目录][--version][文件或目录...]
参数[-R] 用于整个目录下递归
参数[-h] 有且只有改变符号连接的用户组
参数[-c]与[-v]类似,但是v表示无论如何也要显示结果,c表示只有更改组之后才显示结果
实例:chgrp [-R] test test.txt
表示把test.txt文件的群组修改成test
二、
chown 使用说明 用法:chown [选项]... 所有者[:[组]] 文件...
或:chown [选项]... :组 文件...
或:chown [选项]... --reference=参考文件 文件...
chown [-cfhvR] [--help] [--version] user[:group] file...
<参数>[-cfvR] 类似上面的chgrp的用法
范例
chown test:users test.txt
将档案 test.txt 的拥有者设为 users 群的使用者 test
chown -R test:users *
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 test
chgrp和chown 的都是转移文件属主 但是chown只能在同一个用户组里面转换而chgrp可以转移到不同的用户组 三、
chmod 使用说明 用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
<模式>由三部份组成:一个或以上的 ugoa 字母,一个或以上的 +-= 符号,
和一个或以上的 rwxXstugo 字母。
<参数>[-cfvR] 类似上面的chgrp的用法
具体比如 chmod [-R] u/g/o/a +/-/= rwx 檔案或目錄
【u/g/o/a】说明
- u:user表示该档案的拥有者
- g:group表示与该档案的拥有者属于同一个群体(group)者
- o:other表示其他以外的人
- a:all表示这三者皆是
【+-=】说明
【rwx】说明
- r:read表示可读取
- w:write表示可写入
- x:excute表示可执行
- X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行
当然rwx这些权限也可以用数字来代替 r:4 w:2 x:1 -:0 比如执行:chmod u=rwx,g=rx,o=r filename
就等同于:chmod u=7,g=5,o=4 filename
范例: chmod o-r test.txt
表示给其他人撤销test.txt这个文件的读权限
chmod -R a+r *
将目前目录下的所有档案与子目录皆设为任何人可读取
chmod ug+w,o-w test1.txt test2.txt
将档案 test1.txt 与 test2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod ug=rwx,o=x file
效果等同于 chmod 771 file
chmod a=rwx file
效果等同于 chmod 777 file