Linux文件/目录访问权限管理

一、文件/目录访问权限限简介

    文件或目录的访问权限分为只读(r),只写(w)和可执行(x)。

    

    通常文件被创建时,文件的所有者自动拥有对该文件的读,写,以便于对文件的阅读和修改。

    有3种不同类型的用户可对文件或目录进行访问:文件所有者(U),同组用户(G)和其他用户(O)。

      所有者一般是文件创建者。该类用户可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

   每一个文件或目录的访问权限都有3组,没组用3位表示,分别为:文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左的一列为文件的访问权限。

eg:

     -rw-r--r-- 1 root root 483997 Jul 15 17:31 sobsrc.tgz

       (这里一共有10个位置,第一个字符指定了文件类型(-普通文件,d:目录,l:符号链接,b:块设备文件,c:字符设备文件)。在通常意义上,一个目录也是一个文件。)

    横线代表空许可(即表示不具有该权限),r代表只读,w代表只写,x代表可执行。

 

二、改变文件/目录的访问权限——“chmod”命令

    chmod 用于改变文件或目录的访问权限,

      改命令有两种用法:

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

                      eg:

                                  chmod [who] [+ - =] [ mode] filename

                    who可以是以下字母中的任一个或各字母的组合

                       1):u :表示用户(user)即文件或目录的所有者

                       2):g表示同组(group)用户,即与文件属主相同组ID的所有用户

                       3):o表示 其他用户(others)

                       4):a表示所有(all)用户。其为系统默认值

                    允许到 操作符号如下

                         1):+ 添加某个权限

                         2):- 取消某个权限

                         3): =赋予给定权限并取消其他所有权限(如果有的话)

                      设置mode所表示的权限可用下述字母的任意组合

                          1):r 可读

                          2):w  可写

                          3):x 可执行。只有目标文件对某些用户是可执行的或该目标文件时目录时才追加x属性。

                          4):s:在文件执行时把进程的属主或组ID置为该文件的文件属主。可用“u+s”设置文件的用户ID位,而用“g+s”设置组ID位

                          5):t 将程序的文本保存到交换设备上

                          6):u 与文件属主拥有一样的权限

                          7):g 与和文件属主同组的用户拥有一样的权限

                          8):o 与其他用户拥有一样的权限

 

            二):包含数字的数字设定法

                     数字设定法是与文字设定法功能等价的设定方法,只不过比文字设定法更加简洁。数字设定法用3个二进制来表示文件权限,第一位表示r权限,第二位表示w权限,第三位表示x权限。设定好后将其换算为十进制数即可

                      也可直接用十进制数计算,0表示没有权限,1表示x权限,2表示w权限,4表示r权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是 u,g,o。

三、更改文件/目录的默认权限——umask

         “umask”用于显示和设置用户创建文件的默认权限

            通常文件权限只会用到后3位,即022.值得一提的是umask命令与chmod命令设定刚好相反,umask设置的权限“补码”,而chmod设置的是文件权限码。对于文件而言,系统不允许创建之初就对其赋予可执行权限,因此,文件权限的最高设定值为6,目录为7.将最高可选值减去umask中的值即得到默认文件创建权限。因此,当umask为022时,默认创建文件的权限为644,而默认创建目录的权限为755.

            

四、更改文件/目录的所有权——chown

        chown命令用来更改某个文件或目录的属主和属组

          选项如下:

              -R:递归地改变指定目录及其下面的所有子目录和文件的拥有者

              -v:显示chown命令所做的工作

       eg:

             把文件shiyan.c的所有者改为wang

                 #chown  wang shiyan.c

            把目录“/his”及其下面的所有文件和子目录的属主改为wang ,属组改为users

               #chown -R wang .users /his

Linux文件/目录访问权限管理

上一篇:linux——计算机硬件,操作系统,网络基础


下一篇:Redis和Memcached的区别