功能说明:chmod命令是用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能够执行这个命令。
参数选项:
-R 递归处理指定目录及其子目录下的所有文件。
权限对应表:
权限位: r
全称: read
含义: 可读权限
对应数字:4
权限位: w
全称: write
含义: 可写权限
对应数字:2
权限位: x
全称: execute
含义: 可执行权限
对应数字: 1
权限位: -
含义: 没有执行权限
对应数字: 0
一些特殊权限位:t、T、s、S、X、x
用户类型:
文件所属用户:u(Owner/User)
文件所属用户组:g(Group)
其他用户:o(Other)
所有:a(ALL),等效于u、g、o的总和
操作字符
+:加入
-:减去
=:设置
字母和数字权限转换图
权限字母和操作符表达式
文件的数字权限授权案例
普通文件的读、写、执行权限说明
可读r:表示具有读取/阅读文件内容的权限。
可写w:表示有新增、修改文件内容的权限。
(1)如果没有r,用vi编辑器,输入“:wq!”可以强制覆盖,但原文件内容会被清除,因此可以用echo追加内容到文件(echo "hello">> file.log)。
(2)删除文件(修改文件名等)的权限是受父目录的权限控制,和文件本身的权限无关。
可执行x:表示具有执行文件的权限。
(1)文件本身要能够执行
下面三种方法都是通过其他命令来实现的
(2)普通用户必须还要有r权限才能够执行,无r就不能执行。
(3)root即使没有r权限,只要有x权限就能执行。
(4)root用户位没有执行权限,但只要其他权限位还有x权限,那它就能执行。
目录的读、写、执行权限说明
可读r:表示具有浏览目录下文件及子目录的权限,即 ls dir。
(1)没有x不能进入到目录里,即无法cd dir。
(2)ls 列表可以看到所有的文件名,不过会提示无权访问目录下的文件。
(3)如果 ls -l 列表,则所有的属性会带有问号,也会提示无权访问目录下的文件,但是可以看到所有文件名。
可写w:表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合)。
(1)增加的不是文件内容,而是创建一个新的文件。
(2)修改的不是文件内容(这个看文件本身的权限),只能修改文件名,重命名文件(文件名是在目录的block中,看目录的权限全是w的就可以)。
(3)删除也是删除文件而不是看文件本身的权限,是看目录的权限,如果没有x权限则不能删除。
可执行x:表示具有进入目录的权限,例如:cd dir。
(1)没有r则无法进入列表。
(2)没有w则无法新建文件。