chmod是一个设置文件或者文件夹权限的命令,主要有两种设置方法:字母或者数字。(区别chmod = change mode; chmon = change owner,前者是改变权限,后者是改变文件所有者)

用包含字母和操作符表达式的文字设定法

命令格式:

  1. chmod [who] [opt] [mode] 文件/目录名

其中who表示对象,是以下字母中的一个或组合:

  • u:表示文件所有者
  • g:表示同组用户
  • o:表示其它用户
  • a:表示所有用户

opt则是代表操作,可以为:

  • +:添加某个权限
  • -:取消某个权限
  • =:赋予给定的权限,并取消原有的权限

而mode则代表权限:

  • r:可读
  • w:可写
  • x:可执行

比如说我要对所有用户增加文件a.txt的读写权限就可以输入

  1. chmod a+rw a.txt

用数字设定文件权限

  1. 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。因此我们执行命令:

  1. chmod 754 a.txt

这就可以实现将a.txt变成所有者可读可写可执行,同一用户组可读可执行,其他用户可读的权限了。