一、文件权限的组成

   我们都知道linux下一切皆文件,所以文件权限的管理也就非常重要了。

   每个linux文件具有四种访问权限:可读(r)、 可写(w)、可执行(x)和无权限(-)。

   利用ls –l(ll) 命令我们可以查看每个文件或者目录的权限,由10个字符组成,如下:

   -rwxr-xr-x

   第一位表示文件的类型,-表示文件,d表示目录

   2-4位表示文件所有者的权限,u权限

   5-7位表示文件所有者所属组其他成员的权限,g权限

   8-10位表示所有者所属组外的用户权限(也叫其他用户权限),o权限

   2-10位的权限综合有时成为a权限

   这个例子中权限表示:此文件所有者具有读、写和执行的权限,
   所有者所属组成员和所属组之外的用户具有读和执行的权限而没有写的权限。


二、简单文件权限的修改---chmod

1. 用数字表示法修改权限
   所谓数字表示法,是指将r、w和x分别用4、2、1来代表,没有授予权限的则为0,
   然后把权限相加,如下

原始权限              转换为数字               数字表示法

rwxrwxr-x         (421)(421)(401)              775

rwxr-xr-x           (421)(401)(401)              755

修改权限的例子:将文件test的权限修改为所有者和组成员具有读写的权限,其他人只有读权限

chmod 664 test


2. 用文本表示法修改权限
   文本表示法用4个字母表示不同的用户:
   u:所有者
   g:组成员
   o:其他成员
   a:所有人
   权限仍用r、w和x表示

和数字表示法不同,文本表示法不仅可以重新指定权限,也可以在原来权限的基础上
   增加或减少权限,如下:
   =:重新制定权限
   -:对目前的设置减少权限
   +:对目前的设置增加权限
   例子:讲上述例子中,所有者加上执行权限,组成员减少执行权限,其他成员设置为
   执行权限,执行以下命令
   chmod u+x,g-x,o=x test

三、目录权限

目录权限的修改和文件权限修改不同,只是四种权限代表的含义如下:
   r:可列出目录中的内容
   w:可在目录中创建、删除和修改文件
   x:可以使用cd命令切换到此目录
   -:没有任何此目录的访问权限

目录可以使用通配符"*"来表示目录中的所有文件,如将/test目录中的所有文件

的权限设置为任何人都可以读写
       chmod 666 /test/*

四、指定文件的默认权限掩码-----umask

权限掩码有4个八进制的数字组成,讲现有的权限减掉权限掩码后,即可产生此文件建立

时的默认权限。

一般来说,新建文件的默认值是0666,新建目录的默认值是0777,如果将全线掩码设置

为0002,则每个新建文件的默认权限为0666-0002=0664,而目录的默认权限则为775。

可以直接输入umask命令来检查目前的默认权限掩码,或输入"umask 权限掩码"来指定默

认权限掩码。

    用umask的方式指定默认权限掩码,可以避免添加访问权限过大的文件或目录。