chmod是一个设置文件或者文件夹权限的命令,主要有两种设置方法:字母或者数字。(区别chmod = change mode; chmon = change owner,前者是改变权限,后者是改变文件所有者)
用包含字母和操作符表达式的文字设定法
命令格式:
- chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
- u:表示文件所有者
- g:表示同组用户
- o:表示其它用户
- a:表示所有用户
opt则是代表操作,可以为:
- +:添加某个权限
- -:取消某个权限
- =:赋予给定的权限,并取消原有的权限
而mode则代表权限:
- r:可读
- w:可写
- x:可执行
比如说我要对所有用户增加文件a.txt的读写权限就可以输入
- chmod a+rw a.txt
用数字设定文件权限
- chmod [mode] 文件名
关键是数字让我有点迷茫,要了解这个东西,首先要明白一般权限怎么写。
总共9个字母,每3个字母为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。
主要由三个字母构成:
- r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权
- w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限
- x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
在写字符的时候如果不想给权限就写”-“,比如说,我们要实现:所有者可读可写可执行,同一用户组可读可执行,其他用户可读的权限就写成 rwx r-x r–
然后就可以换成数字的形式了,将rwx看成二进制数,吧”-“看成”0″,其他字母全都是”1″,那么rwx r-x r- -则可以表示成为:
111 101 100
再将其每三位转换成为一个十进制数,就是754。因此我们执行命令:
- chmod 754 a.txt
这就可以实现将a.txt变成所有者可读可写可执行,同一用户组可读可执行,其他用户可读的权限了。