Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

一、文件权限查看及读取

1.文件权限

  1. 文件权限存在的意义
  2. 系统最底层安全设定方法之一
  3. 保证文件可以被可用的用户做相应操作

2.权限查看

ls  -l  file           ##查看文件权限

ls  -ld  dir          ##查看目录权限

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

3.权限的读取

  • 文件的属性被叫做文件的元数据(meta data)
  • 一种元数据用1个byte来记录内容

<1>文件权限信息

-      |  rw-r--r-- |    .     |     1      |     root     |     root    |    0     |     Apr 12 10:57    |     westos 

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

<2>目录权限信息

  d    |      rw-r--r--      |      .     |      2      |      root      |     root     |     0      |     Apr 12 10:57 |      westosdir 

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

<3>对每一位的解释

[1]    文件类型

     # - 普通文件

     # d 目录

     # l   软连接

     # b  块设备

     # c   字符设备

     # s   socket套接字

     # p   管道

[2] 用户权限

     rw-  |r--   |  r--

     u       g      o

 [u]        文件拥有者对文件能做什么操作

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

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

[3]  系统的selinux查看

[4]  对于文件:文件内容被系统记录的次数(硬连接个数)

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

[5]  文件拥有者

[6]  文件拥有组

[7]  对于文件:文件内容大小

       对于目录:目录中子文件的元数据大小

[8]  文件内容被修改时间

[9]  文件名称

二、普通权限的类型及作用

1.用户对文件的身份

u:user 文件的拥有者,ls -l 看到的第五列信息

g:group 文件拥有组,ls -l 看到的第六列信息

o:other 既不是拥有者也不是拥有组成员的其他用户的统称

2.权限位

rwx  |  r- - | r- -

  u       g      o

3.用户身份匹配

user   >   group   >   other

4.权限类型

   -           ##权限未开启

   r           ##可读

               ##对于文件:可以读取文件内容  -----> cat  file

               ##对于目录:可以ls列数目录中的文件  ----->  ls dir

   w          ##可写

                ##对于文件:可以更改文件内容

                ##对于目录:可以在目录中新建或者删除文件

   x           ##可执行

                ##对于文件:可以用文件名称调用文件内记录的程序

                ##对于目录:可以进入目录

三、设定普通权限的方法        #chmod    设定文件权限(改变文件权限)

1.chmod  权限复制

chmod  -- reference=/tmp  /mnt/westosdir             #复制/tmp目录的权限到/mnt/westosdir上

chmod  -R  --reference=/tmp  /mnt/westosdir         #复制/tmp目录的权限到/mnt/westosdir及目录中的子文件上

                                                                                # - R代表第归操作

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

2.chmod  字符方式设定权限

chmod  <a  |  u  |  g  |  o  ><  +  |  -  |  =  ><  r  |  w  |  x  >    file  |  dir    ##用字符方式设定文件或目录权限

示例:

1.chmod   u-rw  /mnt/westos1

2.chmod  u-rw /mnt/westosfile1

3.chmod  u-rw,g+x,o+wx /mnt/westosfile2

4.chmod  a-rwx /mnt/westosfile3

5.chmod  u=rwx,g=rx,o=--- /mnt/westosfile4

6.chmod  -R u=rwx,g=rx,o=--- /mnt/westosdir/ 

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

3.chmod 数字方式设定权限

1.权限波尔值表示方式

rwx=111

---=000

2.三位二进制可以表示的最大范围为8进制数

1.rwx=111=7

2.rw-=110=6

3.r-x=101=5

4.r--=100=4=r

5.-wx=011=3

6.-w-=010=2=w

7.--x= 001=1=x

8.---=000

示例:

chmod  600  /mnt/westosfile1                                   #rw-------

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

四、系统默认权限设定

1.系统本身存在的意义共享资源 

2.从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高

3.既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放

4.把不安全的权力默认保留

1.如何保留权力 

umask表示系统保留权力

  1. umask               ##查看保留权力
  2. umask    权限值    ##临时设定系统预留权力
  3. 文件默认权限 = 777-umask-111
  4. 目录默认权限 = 777-umask

umask值越大系统安全性越高

2.umask临时更改

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

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

 3.umask永久更改

普通用户的umask修改为022

           vim /etc/bashrc                               ##shell系统配置文件

 74     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 75        umask 002-->022                          ##普通用户的umask
 76     else
 77        umask 022                                     ##root用户的umask
 78     fi

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组
            vim /etc/profile                                  ##系统环境配置文件

 59     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 60          umask 002-->022                          ##普通用户的umask
 61     else
 62          umask 022                                     ##root用户的umask
 63     fi

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

source   /etc/bashrc                                        ##source作用时使我们更改的内容立即被系统识别 

source   /etc/profile

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组

五、文件用户用户组管理   (如何改变文件的所有人和所有组)

1.chown   username   file                         ##更改文件拥有者

2.chgrp     groupname file                         ##更改文件拥有组

3.chown    username:groupname  file       ##同时更改文件的拥有者和拥有组

4.chown | chgrp  -R  user  |  group  dir       ##更改目录本身及目录中内容的拥有者或拥有组 

Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组