chmod命令是控制用户对文件使用权限的命令
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
1. 基本权限查看
在Linux中,我们可以通过 ls -l 和 ll 命令来查看当前目录下的文件,如下图所示:
每个文件都以对应的-rw--r--r--格式开头,前10个字符代表的就是该文件的信息以及对应的用户所拥有的权限。
- · 10个字符一共分为4组,第一组占1个字符长度,后三组各占3个字符长度。
- · 第一组字符表示的是该文件的文件类型,- 代表文件,d 代表目录,l 代表软链接文件,当然还有其他的文件类型,但是一般只需要知道这3种文件类型便足够了。
- 以上图为例,可以看出sh(drwxr-xr-x)第1组为d,所以说明sh是一个目录,file第1组为-,说明它是一个文件。
- · 后3组所代表的依次是u-所有者,g-所属组,o-其他人 对该文件所拥有的权限,其中 r代表可读, w代表可写,x代表可执行。
- 这里仍然以sh(drwxr-xr-x)为例,可以看出,所有者对该文件具有r,w,x的权限,即可读可写可执行的权限;所属群组对该文拥有r,x的权限,即可读可执行的权限。其他用户也是可读可执行的权限。
- 2. 权限修改
-
所有的权限修改操作都是通过chmod指令实现:其修改指令如下:
chmod 选项 模式 文件名
1. 第一种修改方式,修改sh目录以及其下所有文件的操作权限-
- 上述指令的意思:修改sh目录以及其下所有文件的操作权限,具体修改为u-x,代表从所有者的权限里减去可执行的权限;g+w,代表从所属组的权限里增加可写的权限;o-x,代表从其他用户的权限里减去可执行的权限。
- 如果需要修改权限的文件是一个普通文件而非目录,则不需要添加 -R。这种修改方式的弊端在于,我们必须先知道该文件的权限是什么,才能进行相应的修改,不然去增加已有的权限或者减去没有的权限的时候,就会出问题。
-
- 2. 第二种修改方式,修改file文件的操作权限为一样的权限。
-
- 3. 第三种修改方式
-
- 6 4 4分别对应 u(所有者), g(所属组), o(其他人)对该文件所拥有的执行权限。6代表可读可写,4代表可读。
- 把前面两种方法的权限表示方法由字母r,w,x对应替换成了数字,r=4,表示可读;w=2,表示可写;x=1表示可执行。现在就很明了,6=4+2,所以6对应可读可写权限,4同理。
-
其他参数说明:数字 权限 rwx 7 读+写+执行 rwx 6 读+写 rw- 5 读+执行 r-x 4 只读 r-- 3 写+执行 -wx 2 只写 -w- 1 只执行 --x 0 无 ---
-
- 把前面两种方法的权限表示方法由字母r,w,x对应替换成了数字,r=4,表示可读;w=2,表示可写;x=1表示可执行。现在就很明了,6=4+2,所以6对应可读可写权限,4同理。
- 6 4 4分别对应 u(所有者), g(所属组), o(其他人)对该文件所拥有的执行权限。6代表可读可写,4代表可读。
-
- 3. 第三种修改方式
-
- 2. 第二种修改方式,修改file文件的操作权限为一样的权限。
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
- --help : 显示辅助说明
- --version : 显示版本
- --help : 显示辅助说明
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
- -v : 显示权限变更的详细资料
- -f : 若该文件权限无法被更改也不要显示错误讯息
-
- 如果需要修改权限的文件是一个普通文件而非目录,则不需要添加 -R。这种修改方式的弊端在于,我们必须先知道该文件的权限是什么,才能进行相应的修改,不然去增加已有的权限或者减去没有的权限的时候,就会出问题。
- 上述指令的意思:修改sh目录以及其下所有文件的操作权限,具体修改为u-x,代表从所有者的权限里减去可执行的权限;g+w,代表从所属组的权限里增加可写的权限;o-x,代表从其他用户的权限里减去可执行的权限。
-
-