基于Linux的文件权限控制

Linux用户分为:拥有者、组群(Group)、其他(other)
1.权限存在的意义

系统设置权限是为了对一些重要的文件/数据进行保护,对不同的用户开放不同的权限可防止被人对文件或者数据进行操作,假设系统管理员创建了一个特别重要的.txt文件,并将权限设置为-rex------,将文件随便放在一个目录下,虽然此时不能对文件内容进行任何操作,但是如果此目录具有w权限,则文件此时就有可能被别人删除,造成损失,故我们需要对系统和文件设置权限,确保安全。

Linux的权限对于文件与目录的意义

 权限对文件的意义:

   r :表示是否可以查看文件中的字符,可读取此文件的实际内容。 
  w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件),表示是否可以改变文件中记录的字符,如果没有r权限,无法w。 
  x :该文件具有被系统执行的权限,是否通过文件名称调用文件内记录的程序。可以删除。 

权限对目录;

  r:read contents in directory。表示具有读取目录结构列表的权限,可以查看目录中有什么文件。 
 w:modify contents in directory。表示具有更改该目录结构列表的权限,是否可以在目录中管理文件,是否可以更改目录中文件的元数据。如:新建文件与目录;删除已经存在的文件与目录(不论该文件的权限如何),将已经存在的文件或目录进行重命名,转移该目录内的文件、目录位置 
 x :access directory。目录的x代表用户能否进入该目录称为工作目录的用途。 


2.权限的识别(用下列两行代码可查看文件权限和文件夹权限)
        ls -l file
        ls -ld dir

3.权限的查看与理解
     -         rw -r--r--       1            root       root         216 May 12    2017        /mnt/rht
【1】    【2】        【3】        【4】  【5】           【6】         【7]】         [8]

[1]文件类型
           -      ##普通文件
          d      ##目录
           l      ##软连接ln
           s     ##socket
           c     ##字符设备
【2】文件权限
        rw-|r--|r--
       u用户对文件能作的事   g组员对文件能作的事   o其他人对文件能作的事
【3】文件硬连接个数(文件内容被系统记录的次数)
【4】文件的拥有者
【5】文件的拥有组
【6】文件的大小
【7】文件最后一次被修改的时间
【8】文件名称

目录的查看
    d      rwxr-xr-x.       2       roo  t   root     4096    Jul 30 9:05    /mnt/
【1】    【2】     【3】  【4】  【5】  【6】       【7】        【8】

【1】类型
【2】权限
【3】目录中子目录的个数
【4】用户
【5】组
【6】子文件或子目录元数据大小(描述数据的数据对文件来说就是描述文件的属性,元数据每一类占用一个字节)
【7】最后一次被更改的时间
【8】名称

4.用户和用户组

Linux命令:修改文件权限命令chmod、chgrp、chown详解

chmod:用于改变文件或目录的访问权限,用户可用它控制文件或目录的访问权限。确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。

chgrp:用chgrp命令来更改某个文件或目录所属的组。语法:chgrp [选项] group filename

chown:更改某个文件或目录的所有者和所属组。语法:chown [选项] 用户或组 文件

说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

1.此命令必须用root用户执行
chown username file|dir

chown -R username dir

chown username:group file|dir

chgrp group
chgrp -R group

2)权限的管理
字符形式
chmod <u|g|o> <+|-|=> <r|w|x> file|dir

(如下图所示,上面这句chmod是用来修改文件或目录的访问权限,u:拥有者/g:组/o:其他      +:增加权限/ -:删除权限    r:可读/w:可写/x:可操作)

数字方式(r/w/x可用数字表示,用来设置对文件或者目录的权限,其中r:2      w:1       x:0)

计算方法如下
 x=2**0*1|0=0|1    (2的0次方乘以1(代表可读)或者0(代表不可读)=计算结果为0(代表不可读)或者1(代表可读))
 w=2**1*0|1=0|2   (2的1次方乘以1(代表可写)或者0(代表不可写)=计算结果为0(代表不可写)或者2(代表可写))
 r=2**2*0|1=0|4(2的2次方乘以1(代表可操作)或者0(代表不可操作)=计算结果为0(代表不可操作)或者4(代表可操作))

              rwx=7           ##7表示   可读   可写   可操作
              rw-=6            ##6表示   可读   可写   不可操作
              r-x=5             ##5表示   可读   不可写   可操作
              r--=4              ##4代表   可读   不可写   不可操作
              -wx=3            ##3代表   不可读   可写     可操作
              -w-=2             ##2代表  不可读   可写     不可操作
              --x=1              ##1代表   不可读   不可写  可操作

chmod  775  /mnt/file   ##此句表示对/mnt/file文件 拥有者可读可写可操作  组成员可读可写可操作 其他可读不可写可操作


rwxr-xr-x   ##3位一读rwx表示拥有者可读可写可操作  r-x表示组可读不可写可操作 最后的r-x表示其他可读不可写可操作
5.权限列表
特定用户对指定文件有指定权限

-rw-r-r--+ 1 root root 216 May 12 2017 rht   权限列表开启

[root@foundation100 mut]# getfacl file
file:file   #文件名称
#owner:root #文件所有人
#group:root #文件所有组
user::rw-  #用户权限
user:kiosk:rwx  #特殊指定用户权限
group::r-- #组权限
mask::rwx #权限最大值
other::r--  #其他权限

setfacl -m u:student:rwx file #设定列表用户权限
setfacl -x u:student     file #删除列表中的指定用户
setfacl -b file    #关闭权限列表

例题:

1新建用户组,shengchan1,caiwu1,jishu1

2新建用户要求如下:

       1)tom1是shengchan1组的附加用户

       2)harry1是caiwu1组的附加用户

       3)leo1是jishu1组的附加用户

        4)新建admin1用户,此用户并不属于以上三个部门

3新建目录要求如下:

        1)/cw  目录为财务部存储目录只对财务人员可以写入

        2)/sc   目录为生产部存储目录只对生产部人员可以写入

        3)/js    目录为技术部存储目录只能对技术部人员可以写入

猜你喜欢

转载自blog.csdn.net/qq_41141896/article/details/81775526