linux学习笔记(五)-----权限设定

         文件权限

1.文件权限存在的意义

   系统最底层安全设定方法之一

   保证文件可以被可用的用户做相应操作

2.文件权限的查看

 ls -l   file

 ls -ld  dir

 ll      file

 ll -d   dir

3.文件权限的读取

 -  |rw-rw-r--| 1 | kiosk | kiosk | 0 |Ju1 21 09:18 | file

[1]     [2]    [3]   [4]     [5]   [6]     [7]        [8]

 

[1]

文件的类型

-       ##空文件。或者文本

d       ##目录

l       ##软链接

s       ##socket套接字

b       ##block块设备

c       ##字符设备

[2]

文件的权限

rw-|rw-|r--

 1    2   3

  1.[u]文件拥有着对文件能做什么操作

  2.[g]文件所有组对文件能作什么操作

  3.[o]其他人对文件能作什么操作

 

[3]

文件硬链接个数(文件内容被记录的次数)

  对文件:文件硬链接个数(文件内容被记录的次数)

  对目录:目录中子目录的个数

[4]

文件的所有人

[5]

文件所有组

[6]

文件大小

[7]

文件的内容被修改的时间

[8]

文件的名称

 

4.如何改变文件的所有人和所有组

chown|chgrp

 

chown         username     file|dir

chown         user.group   file|dir

chown   -R    user.group   file|dir

 

chgrp         group        file|dir

chgrp   -R    group        dir

5.如何改变为文件的权限

1.对权限的理解

  r 

      对文件:是否可以查看文件中的内容      -->cat file

      对目录:是否可以查看目录中有什么子文件或者子目录   -->is dir

  w

      对文件:是否可以改变文件里面记录的字符

      对目录:是否可以对目录中子目录或子文件的元数据进行更改

  x 

      对文件:是否可以通过文件名称调用文件内记录的程序

      对目录:是否可以进入目录

 

 2.更改方式

   chmod   <u|g|o><+|-|=><r|w|x>     file dir

   chmod    u+x       /mnt/file1

   chmod    g-r       /mnt/file2

   chmod    ug-r      /mnt/file3

   chmod    u-r,g+x   /mnt/file4

   chmod    -r        /mnt/file5

   chmod    o=r-r     /mnt/file6

 

   rwx

   210

   r=4

   w=2

   x=1

  

   r-x|r--|--x

    5   4   1

   chmod 541 /mnt/file1

   

    7=rwx

    6=rw-

    5=r-x

    4=r--

    3=-wx

    2=-w-

    1=--x

    0=---

      注意:1.目录只具有只读权限时,不能通过cd进入该目录,必须要有执行的权限才能进入

           2.只有执行权限只能进入目录,不能看到目录下的内容,要想安道目录下的文件名和目录名,需要可读权限

           3.一个文件能不能被删除,主要看该文件所在的目录对用户是否具有写和执行权限,如果目录对用户没有执行和写权限,则该目录下的所有文件都不能被删除,文件所有者除外

           4.目录的w位不设置,即使你拥有目录某文件的w权限也不能写该文件(即目录权限有的文件都有 目录没有的文件即使有也不能使用)

 

6.umask

  umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码,默认情况下的umask值是022

临时更改umask

 umask    系统建立文件是默认保留的权力

 umask  077      ##临时设定系统预留权力为077

永久更改umask

vim /etc/profile      ##系统配置文件

59 if [ $UID -gt 199 ]&&[ "'id-gn'"="'id-un'" ];then

60     umask 002      ##普通用户的umask

61 else

62     umask 077      ##超级用户的umask

63 fi    

 

vim /etc/profile      ##shell配置文件

70if [ $UID -gt 199 ]&&[ "'id-gn'"="'id-un'" ];then

71     umask 002    

72 else

73     umask 077

74 fi 

source /etc/profile     ##让更改立即生效

source /etc/bashrc

 

7.特殊权限

1.sticky     ##粘制位

  作用:

    只针对目录生效,当一个目录上有sticky权限时

    在这个目录中的文件只能被文件的所有者删除

  设定方式:

     chmod o+t  dir

     chmod 1xxx dir

2.sgid       ##强制位

  作用:

     对文件:只针对于二进制可执行文件

            当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

     对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

 

设定方式:

    chmod  g+s    file|dir

  chmod  2xxx   file|dir

  

3.suid     ##冒险位

       只针对于二进制可执行文件

       当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

设定方式

    chmod u+s   file

  chmod 4xxx  file

  

acl权限列表

1.作用

   让特定的用户对特定的文件用于特定权限

2.acl

   -rw-rwxr--+ 1 root root Ju1 21 15:45 file

             ^

             acl开启

 

        getfacl  file   ##查看acl开启的文件的权限

        #file:   file   ##文件名称

        #owner:  root   ##文件拥有者

        #group:  root   ##文件拥有组

        user::rw-       ##文件拥有人的权限

        user:kiosk;rwx  ##指定用户的权限    

        group::r--       ##文件拥有组的权力

        mask::rwx        ##能赋予用户的最大权力伐值

        other::r--       ##其他人的权限

 

3。acl列表的管理

   setfacl  -m u:username:rwx file  ##设定username对file拥有rwx权限  (要想对文件执行rwx权限,该文件所属最高目录也应该具有rwx权限)

   setfacl  -m g:group:rwx file     ##设定group组成员对file拥有rwx权限

   setfacl  -x u:username  file     ##从acl列表中删除username

   setfacl  -b file                 ##关闭file上的acl列表

 

4.mask值

  在权限列表中mask表示能生效的权力值

  当用chmod减小开启acl的文件权限时mask值会发生改变

  chmod g-w westos

  

  如果要恢复mask值

  setfacl -m m:rw westos

 

 

5.acl的默认权限设定

 acl默认权限只针对目录设定

   “acl权限只针对设定完成之后新建立的文件或目录生效而已经存的文件是不会继承默认权限”

setfacl   -m d:u:用户名: 权限 -R 目录名

setfacl   -m d:u:student:rwx /mnt/westos

 

 

猜你喜欢

转载自blog.csdn.net/qq_42711214/article/details/81195027