【好记性不如烂笔头】linux权限管理之特殊权限

前言

接着上篇文章基本权限,这篇文章带你了解特殊权限。合理分配权限,真的很重要。学会修改文件权限,再也不用担心自己的小电影被发现了,啊呸。呵呵,套你猴子的,你这个闷骚男,我是来学习知识的,不是来get番号的。嘴上说不要,身体很诚实。八连杀,好强大,我要我要我还要,编不下去了,恶心到自己了…

正文

通过目录你可以get到哪些知识

目录

  • 文件ACL权限
  • 文件特殊权限
  • 文件不可改变位权限
  • 文件sudo权限

文件ACL权限
首先查看分区ACL权限是否开启

ACL权限

注意:在centos7中,如果你的系统分区格式是xfs,请用xfs_growfs命令,不确定系统分区格式,如下图查看:

df 查看系统分区
在这里插入图片描述

  • dumpe2fs -h /dev/sda1,查询指定分区详细文件系统信息的命令
  • -h,仅显示超级块中信息,而不显示磁盘块组的详细信息
  • mount -o remount,acl /dev/sda5,重新挂在根分区,并挂载acl权限
  • 修改fstab文件永久生效,vim /etc/fstab,修改时请注意这个文件会影响系统的启动
    在这里插入图片描述

设置ACL权限,setfacl 【选项】文件

  • -m,设置ACL权限
  • -x,删除指定的ACL权限
  • -b,删除所有的ACL权限
  • -d,设置默认的ACL权限
  • -k,删除默认的ACL权限
  • -R,递归设置ACL权限

递归权限针对目录,不对文件有效

设置ACL权限,setfacl -m 文件:

  • u:用户名:权限 文件名,为用户分配ACL权限
  • g:组名:权限 文件名,为组分配ACL权限
  • 例如:setfacl -m u:sky:rx /home/av,赋予sky这个用户读和执行的权限,av代表目录

查询ACL权限,getfacl【选项】文件

  • 有设置,当然也有查询。通过getacl av,查看av目录的ACL权限

mask, 用来指定最大有效权限。如果给用户赋予ACL权限,是需要与mask的权限做“相与”逻辑运算才能得到用户的真正权限。

删除指定用户ACL权限。例如,bols波老师代表文件名

  • 删除指定用户的,setfacl -x u:sky bols
  • 删除指定组的,setfacl -x g:sky bols

删除所有ACL权限,例如

  • setfacl -b 文件名,删除这个文件所有ACL权限

设置默认ACL权限

  • 例如:setfacl -m d:u:sky:rx -R /home/av,如果给av这个父目录下所有子文件赋予了读和执行默认的ACL权限,之前新建的是不会生效的,针对赋予权限之后新建的文件

删除默认ACL权限

  • 例如:setfacl -m d:u:sky:rx -R /home/av,删除av这个目录下所有文件和子目录的默认ACL权限

递归ACL权限,递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限,这时设定的是针对已经存在的文件。

  • u:用户名:权限 文件名,为用户分配ACL权限
  • 例如:setfacl -m u:sky:rx -R /home/av,赋予sky这个用户读和执行的权限,av目录下所有文件都赋予了读和执行的权限。尽量少用递归ACL权限,会造成权限溢出

文件不可改变位权限

chattr命令 [+ - =]【选项】文件或目录名

  • +:增加权限
  • -:删除权限
  • =:等于某权限

最常用的是-i-a

  • -i:文件不可删,不可修改。如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立或删除文件。

    例如:此时对bols文件进行了赋予chattr +i bols属性命令。使用lsattr命令查看你会发现多了i属性,而且不能对其进行删除如下图:
    在这里插入图片描述
    设置了+i属性,不让删除
    在这里插入图片描述

  • -a:文件不可删,可修改。如果对文件设置a属性,那么只能在文件中增加数据,但不能删除和修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但不允许删除文件。

    例如:此时对bols文件进行了赋予chattr +a bols属性命令,也可以用lsattr命令查看发现多了a属性如下图:
    在这里插入图片描述
    设置+a属性了,也是不让删除的
    在这里插入图片描述

注意:使用vi进行修改是行不通的,系统不好判断是修改还是新增。但使用echo >> av /home/user1/bols重定向输出是可行的。

文件特殊权限

通过观看学习视频,总结了下,大致的把文件特殊权限分为这三个:suid(SetUID),sgid(SetGID),sbit(Sticky BIT)。

首选来了解下suid,下面我就采用简写了。

  • 只有可执行的二进制程序才能设定suid权限。
  • 命令执行者要对该程序拥有X(执行)权限。
  • 命令执行者在执行该程序时获得该程序文件属组的身份(在执行程序的过程中灵魂附体为文件是属组)。
  • suid权限只在该程序执行过程中有效,身份改变只在程序执行过程中生效。

passwd命令拥有suid权限,所以普通用户可以修改自己的密码

cat命令没有suid权限,普通用户不能查看/etc/shadow文件中的类容

设定suid的方法,4代表suid

  • chmod 4755 文件名
  • chmod u+s 文件名

有设定当然也有对应的取消suid的方法

  • chmod 0755 文件名
  • chmod u-s 文件名

使用suid权限时得慎重,这家伙也是很危险的。

  • 关键目录应该严格控制写权限。例如:"/","usr"等等
  • 用户密码设置严格遵守密码三原则
  • 对系统中默认应该具有suid权限的文件作一列表,定时检查有没有以外的文件被设置的suid权限

了解了suid权限后,再来了解下sgidSetUID)权限,针对文件的作用

  • 只有可执行的二进制程序才能设定sgid权限。
  • 命令执行者要对该程序拥有X(执行)权限。
  • 在执行程序的时候,组身份升级为该程序文件的属组
  • sgid权限一样也只在该程序执行过程中有效,组身份改变只在程序执行过程中生效。

sgid针对目录的作用

  • 普通用户必须对此目录拥有r(读)和x(写)权限,才能进入此目录
  • 普通用户在此目录中的有效组会变成此目录的属组
  • 普通用户对此目录拥有w(写)权限时,新建文件的默认属组是这个目录的属组

例如:

  • /usr/bin/locate是可执行二进制程序,可以赋予sgid特使权限
  • 执行用户lamp对/usr/bin/locate命令拥有执行权限
  • 执行/usr/bin/locate命令时,组身份会升级为slocate组,而slocate组对/var/lib/mlocate/mlocate.db数据库拥有r(读)权限,普通用户可以使用locate命令查询mlocate.db数据库
  • 命令结束时,用户lamp的组身份返回lamp组

设定sgid,2代表sgid

  • chmod 2755 文件名
  • chmod g+s 文件名

取消sgid

  • chmod 0755 文件名
  • chmod g-s 文件名

了解完sgid,就剩下最后的sbit特殊权限了,粘着位作用

  • 粘着位目前只对目录有效
  • 普通用户对该目录拥有w(写)和x(执行)权限,普通用户在此目录拥有写入权限
  • 如果没有粘着位,普通用户拥有w(写)权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一旦赋予了粘着位,只有root可以删除所有文件,普通用户就算拥有w(写)权限,也只能删除自己建立的文件,但不能删除其他用户建立的文件。

sudo权限

sudo权限,把原本只能超级用使用的命令对普通用户赋予权限,操作对象是系统命令。

sudo使用

  • visudo,实际修改的是/etc/sudoers文件
  • root 用户名 ALL 被管理主机的地址 = (ALL)可使用的身份 ALL 授权命令(绝对路径)
  • #%wheel #%组名 ALL 被管理主机的地址 = (ALL)可使用的身份 ALL 授权命令(绝对路径)

例如:授权普通用户可以重启服务器

  • visudo,user1 ALL = /sbin/shutdown -r now
  • 注意:命令写的越简单,相对而言赋予的权限越大。

例如:普通用户执行sudo赋予的命令

  • 切换到普通用户,su - user1
  • sudo -l ,查看可用的sudo命令
  • 普通用户执行sudo赋予的命令,sudo /sbin/shutdown -r now

例如:授权普通用户可以添加其他用户

  • visudo,usr1 ALL = /usr/sbin/useradd,添加用户
  • usr1 ALL = /usr/bin/passwd,授予用户设定密码的权限
  • 设置不能设定root用户密码,usr1 ALL = /usr/bin/passwd[A-Za-z]*!/usr/bin/passwd""!/usr/bin/passwd root

尾声

好了,到此为止就是此篇文章的全部内容了,能看到这的都是帅哥靓妹啊!!!善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章