Linux系统中的chmod命令主要用来修改目录和文件的权限,默认情况下只有root用户才能使用。该命令的使用方式为命令+修改内容+要修改的文件或者目录,同时它还有一些选项最为常用的就是-R,意思是递归处理,一旦使用该选项那被操作的目录及目录下的所有文件都会同样发生权限变更。
在修改方式上chmod命令支持两种修改方式。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
文字设定法
权限注意分为三种:
读(r),写(w),执行(x),
操作对象又分为三类:
所有者(u),
所属组(g),
其他用户(o),
如果需要增加权限可以使用(+),取消权限可以使用(-),指定权限可以使用(=)。
只要将操作对象、权限操作符、权限组合就可以向系统传达相应的修改要求。
命令格式:
chmod [对象][+|-|=][权限] 文件名
对象:
u-目录或者文件的所有者;
g-目录或者文件的所有组;
o-除了目录或者文件所有者和所有组的用户或者群组;
a-所有的用户及组。
文字权限的表示:r-读权限;w-写权限;x-执行权限。
用法示例:
1、给zhidao.txt文件的所有者添加读权限
$ chmod u+r zhidao.txt
2、将系统下/tmp/history目录的权限中增加所属组的写权限。
方法:在提示符后输入命令
chmod g+w /tmp/history
完成后查看发现该目录的权限已由drwxr-xr-x变更为drwxrwxr-x。
3、将系统下/tmp/every目录其他用户权限设置为可读、不可写、不可执行。
方法:在提示符后输入命令
chmod o=r /tmp/every
完成后查看发现目录的权限已由drwxr-xr-x变更为drwxr-xr--
4、将系统下/tmp/mobile文件的权限设置为所有者可读、可写、不可执行,所属组可读、不可写、不可执行。
方法:在提示符后输入命令
chmod u-x g-w /tmp/mobile
完成后查看发现文件的权限已发生变更。这里注意多元素修改需要使用“,”连接
数字配置修改法
命令格式:
chmod [权限] 文件名
Linux系统中将
读权限规定为4,
写权限规定为2,
执行权限规定为1。
任何对象的权限都可以用三个数字的和来表示。例如765表示的是(4+2+1)(4+2)(4+1),也就是所有者可读、可写、可执行,所属组可读、可写,其他用户可读、可执行。在进行权限设置时,可以使用chmod+数字组合+待修改文件目录来完成更改。
数字权限的表示:
0表示没有权限,
1表示可执行权限,
2表示可写权限,
4表示可读权限,
然后将其相加。数字设定法需要同时设定u、g、o三组用户的权限,依次用3个8进制数表示。
用法示例:
1、设置zhidao.py的所有者和所有组可读写、可执行,其它用户及可读、可执行不可写
$ chmod 775 zhidao.py
2、将系统下/tmp/hub文件的权限设置为所有者可读、可写、不可执行,所属组可读、可写、不可执行,其他用户可读、不可写、不可执行。
方法:在提示符后输入命令
chmod 664 /tmp/hub
完成后查看发现文件权限已变更。
3、将系统下/tmp/history目录的权限设置为所有者可读、可写、可执行,所属组可读、可写、不可执行,其他用户可读、不可写、不可执行,同时该目录下所有文件目录采用同样设置。
方法:在提示符后输入命令
chmod -R 764 /tmp/history
完成分别查看该目录及目录下文件发现都已发生变更。