目录
????????每个linux文件(包括普通文件和目录)具有三种访问权限:可读(r)、可写(w)、可执行(x),针对普通文件和目录,这三种访问权限具有不同的含义,如下表所示:
访问权限 | 普通文件 | 目录 |
---|---|---|
r | 具有读取文件内容的权限 | 具有列出目录中内容的权限 |
w | 具有修改文件内容的权限 | 具有增加、删除目录内文件的权限 |
x | 具有执行文件的权限 | 具有进入目录的权限 |
????????利用ls -l命令,可以显示文件的详细信息,如下例所示:
? ? ? ? $ ls -l
? ? ? ? total 13
? ? ? ? -rwxr--r--??? 1 root root 183 Jan 18 04:46 test.txt
? ? ? ? drwx-----? 3 root root 152 Jan 12 04:52 test
????????其中权限信息展示在第一列,由10个字符组成.第1位表示文件类型,- 表示普通文件,d表示目录;第2-4位表示文件所有者的权限;第5-7位表示文件所有者所在用户组的用户的权限;第8-10位表示其他用户的权限。如果没有某一权限,则在相应位置用 - 代替,表示无权限。
????????一个文件的权限信息是3类不同用户对该文件访问权限的组合描述。
????????上述例子列出了当前目录下的所有内容,包括一个普通文件test.txt和一个目录test。结合权限信息可知,对于普通文件test.txt,文件所有者具有读、写、执行的权限,文件所有者所在用户组的用户和其他用户具有读权限但没有写、执行的权限;对于目录test,文件所有者具有完整的权限,文件所有者所在用户组的用户和其他用户没有任何权限。
????????所谓权限的数字表示法,是指把r、w、x分别用4、2、1来表示,无权限为0。然后把权限相加,就能得到各类用户对当前文件的权限情况,如下表所示:
权限的字符表示 | 字符表示转数字表示的过程 | 权限的数字表示 |
rwxr--r-- | (111)(100)(100) -> (4+2+1)(4+0+0)(4+0+0) | 744 |
rwxr-xr-x | (111)(101)(101) -> (4+2+1)(4+0+1)(4+0+1) | 755 |
????????语法:chmod [-R] abc filename, 其中abc是文件权限的数字表示;filename文件名既可以是普通文件也可以是目录;-R通常用于对目录进行权限的递归修改,即修改指定目录下的所有文件和子目录的权限。
????????例子:假设文件test.txt的权限为rwxr--r--,数字表示为744,即文件所有者具有读、写、执行的权限,文件所有者所在用户组的用户和其他用户具有读权限但没有写、执行的权限。现在想把该文件的权限修改成所有用户都对其有完整的权限,可以用以下命令实现:
????????chmod 777 test.txt
????????语法:chmod [who] [operator] [permission] filename
????????who是指要修改权限的用户类型,有以下4类:u: 文件所有者、g: 文件所有者所在用户组的用户、o: 其他用户、a: 所有用户。
????????operator是指修改权限时的操作类型:+:增加权限、-:减少权限、=:重新设置权限。
????????可以看出,字符表示法除了像数字表示法一样可以重新指定权限外,还可以在原来权限的基础上增加或减少权限。
????????permission是指权限类型,即r、x、w
????????例子:假设文件test.txt的权限为rwxr--r--,即文件所有者具有读、写、执行的权限,文件所有者所在用户组的用户和其他用户具有读权限但没有写、执行的权限。现在想把该文件的权限修改成所有用户都对其有完整的权限,可以用以下命令实现:
????????chmod g+wx,o+wx test.txt
????????注意, g+wx,o+wx是合在一起的,逗号前后不能有空格。
????????也可以简写成:
????????chmod go+wx test.txt
????????上面的写法选择在原有权限基础上增加权限,还可以通过重新设置权限的写法实现:
????????chmod go=rwx test.txt
https://www.cnblogs.com/harrymore/p/5121350.htmlhttps://www.cnblogs.com/devgis/p/16382356.html