linux 中每个文件有所有者、所在组、其它组的概念。
类似linux 中的每个用户必须属于一个组,不能独立于组外,组的相关操作可参考:Linux-用户管理
通过指令ls -ahl
或ll
查看文件所有者:
更多指令可参考:Linux-基础实用指令(不会还有人不知道吧)
chmod即change mode的缩写。
首先要知道修改谁对该文件的权限,用u(user)、g(group)、o(other)、a(all)表示谁:
u | g | o | a |
---|---|---|---|
所有者 | 所有组 | 其他人 | 所有人 |
然后是怎么修改权限,用+、-、=表示:
+ | - | = |
---|---|---|
新增权限 | 删除权限 | 覆盖权限 |
最后是具体的什么权限,除了rwx表示外,还能用数字表示:
r | w | x |
---|---|---|
4 | 2 | 1 |
所以rwx=7,rw=6,rx=5,数字之和表示,以此类推。
那么标题中的777就等价于u=rwx,g=rwx,o=rwx(即所有者、所在组和其他组都有读写执行权限)
755等价于u=rwx,g=rx,o=rx(即所有者有读写执行权限,所在组和其他组只有读执行权限)
644等价于u=rw,g=r,o=r(即所有者有读写权限,所在组和其他组只有读权限)
语法:chmod [OPTION] OCTAL-MODE FILE
其他参数:
参数 | 说明 |
---|---|
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不要显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更) |
chown即change owner的缩写。
语法:chown [OPTION] [OWNER][:[GROUP]] FILE
参数 | 说明 |
---|---|
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
chgrp即change group的缩写。
语法:chgrp [OPTION] GROUP FILE
参数 | 说明 |
---|---|
-f | 不显示错误信息 |
-R | 递归将指定目录下的所有文件及子目录一并处理 |
-v | 显示指令执行过程 |