linux入门七:如何在linux中进行权限管理(下)

chmod命令详解

chmod命令主要针对文件和目录权限进行修改,在权限修改上的这篇文章中我们知道权限共有三种类型,分别是可读,可写,可执行权限,在linux中有两种方式可以授予权限。

  • 第一种就是使用符号的方式进行修改
    我们知道在查看文件和目录的权限时,共有九位来表示其权限,前三位为所有人(u:user)权限,中间三位为所有组(g:group)权限,后三位为其他人(o:other)权限。如若一个文件的权限如下:

    如果理解了文件权限的形式,那么chmod命令的符号修改的方式也就很容易理解了,具体如下:

 chmod  <u|g|a>+/-<r|w|x>  file     #用字符方式设定文档权限
 ##例如:
 chmod  u-wx file                  #取消文件拥有者写和执行的权力
 chmod  g+x  file                  #增加文件拥有组执行的权力
 chmod  o+r  file                  #增加文件其他用户的读的权力
  • 第二种就是使用数字的方式进行修改
    我们首先需要了解如何使用数字去表示权限,将r(read),w(write),x(execute)权限分别顺序使用三位二进制来进行表示,如下:
   权限表示        二进制表示      十进制表示  
    _-_-_            000              0
    _-_-x            001              1
    _-w-_            010              2
    _-w-x            011              3
    r-_-_            100              4
    r-_-x            101              5
    r-w-_            110              6
    r-w-x            111              7

那么如下图的文件权限使用数字表示应该为:

利用chmod’结合这种数字表示的形式我们来进行权限的修改:

chmod  ***  file            #利用数字形式修改文件权限     
                            #其中的*代表小于等于7的数字`
##例如:
chmod  600   file           #修改文件的权限为<rw------->
                            #即修改该文件的权限为文件拥有者权限为可读可写,文件拥有组和其他人都没有该文件的权限

特殊权限 stickyid sgid suid

  • 粘制位 stickyid
    主要是针对目录,如果一个目录的stickyid权限开启,那么这个目录中的文件只能被文件拥有者删除。
    stickyid权限主要针对公共目录,在公共目录中任何人都可以读写该目录中的内容,但在这种情况中由和不人性化的问题,就是在该目录中若小红建立了一个file1,小李建立了file2,但由于该目录是公共目录,意味着小李可以对小红的文件进行删除操作,这显然是不合理的,而stickyid就可以解决这种问题。
    两种开启stickyid的方法:
      chmod o+t  file       #使用符号方式打开该文件的stickyid权限
      chmod 1777  file      #使用数字方式打开该文件stickyid权限
  • 强制位 sgid
    主要针对目录,使得该目录中新建的文件可以被自动归属在该目录的所有组中,是针对所有组的权限。这个权限只针对于二进制可执行文件,在运行该文件时都是以该文件的拥有组运行,而与执行用户无关。在后续接触到守护进程的知识时,一般会将文件的所有组设置为某些特定的进程,并赋予其sgid权限和可执行权限从而让守护进程可以对该文件进行操作。
    chmod g+s file     #使用符号方式打开sgid权限
    chmod 2*** file    #使用数字方式打开该文件权限
  • 冒险位 suid
    suid也是只针对二进制可执行文件的权限,在suid权限下运行的文件都是以文件拥有者权限运行,而与执行用户无关。suid权限一般应用于想让用户可以执行一些只有root用户才能执行的文件的场景。
    chmod  u+s  file    #字符形式打开suid权限
    chmod  4***  file   #数字形式打开suid权限

系统默认权限设定 umask

当我们在linux中新建一个文件时,我们发现系统会默认给他们特定的权限,这其实是由系统中设定的umask决定的。umask是指目前用户在建立文件或目录时的权限默认值。
那么该如何查看umask值呢?我们可以直接在命令行输入umask来进行查看,如图

需要注意的是,umask的数字指的是默认需要减掉的权限,如上中所示,umask的值为

了解了umask的意义和查看后,如果我们要进行修改该如何进行操作呢?

umask   ***                ##对umask值进行临时修改
vim /etc/bsahrc            ##使用系统配置文件进行永久修改

ACL列表

在学习ACL之前,我们开看这样一个场景,若有一个文件所有人为张三,所有组为三组,文件的权限为644,但此时要求李四可以对该文件进行读写操作,我们该如何授予李四读写权限呢?
可能会有小伙伴想到可以直接修改文件所有人的身份为李四,但这显然是不合理且不安全的。那么我们该如何能够安全且合理的赋予李四权限呢?
ACL权限列表(Access Control List)可以解决这一难题,它能够针对单一用户、单一文件或目录来进行权限设置。

  1. 启动ACL权限列表的标识
    如图

    在文档或目录开启ACL列表时需注意此时查看文件或目录权限不能仅依据ls命令来进行查看,必须展开ACL列表来进行查看,因为此时ls所查看到的权限是不完整的,在ls中所有组的权限显示的是umask值所决定的默认权限。

  2. 设置ACL权限列表
    主要使用两个命令:
    getfacl:获取某个文件/目录的ACL设置选项
    setfacl:设置某个文件/目录的ACL选项
    具体的使用方法如下:`

在这里插入代码片
  1. ACL权限优先级

attr权限

用户权力下放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值