Linux介绍---权限管理

**一,ACL权限**:
	1.ACL概述:ACLACL是用于解决用户对文件身份不足的问题。
	![sss](https://img-blog.csdnimg.cn/20190428204559381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNzU0NjcyNQ==,size_16,color_FFFFFF,t_70)
2.开启ACL
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019042821220952.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNzU0NjcyNQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190428212231167.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNzU0NjcyNQ==,size_16,color_FFFFFF,t_70)
3.ACL基本权限:
	getfacl 文件名 查询文件的ACL权限。
	setfacl	选项 文件名 设定ACL权限。
		选项:
			-m 设定ACL权限。
			-b 删除ACL权限。
			-x 用户 删除单个用户的ACL权限。
setfacl -m u :用户名 :权限 文件名
setfacl -m g :组名,权限 文件名。
setfacl -m u:aa rwx /test/ 给test目录赋予aa是读写执行的ACL权限。
setfacl -m u:cc:rx -R soft/  赋予递归ACL权限,只能赋予目录。
      -R标示递归
setfacl -m d :u:aa:rwx: -R  /test  ACL默认权限。注意:默认权限只能赋予目录。
**注意:**
	如果给目录赋予acl权限,两条命令都要输入。
	递归与默认的区别:
		setfacl -m u:cc:rx -R soft /  只对已经存在的文件生效。
		setfacl -m d:u:aa:rwx 	-R /test 只对以后新建的文件生效。
4.最大有效权限:
	setfacl -m m:rx project / #设定mask权限为rx。使用m权限格式。
	getfacl project/
5.删除ACL权限。
	setfacl -x u:st /project/ #删除指定用户和用户组的ACL权限。
	setfacl  -b project/ #会删除文件的所有的ACL权限。

二 sudo授权
给普通用户赋予部分管理员权限。
/sbin/ 在此目录下命令只有超级管理员才能使用。
/usr/bin/
1.root 身份。
visudo 赋予普通用户权限命令,命令执行后和vi一样使用。
在这里插入图片描述
用户名/组名:代表root给那个用户或者用户组赋予命令,注意组名前使用%
用户可以用指定的命令管理指定IP地址的服务器,如果写ALL,代表可以管理任何主机,如果写固定IP,代表用户可以管理指定的服务器。如果我们这里写本机的IP地址,不代表只允许本机的用户使用指定命令,而代表指定的用户也可以从任何ip地址来管理当前服务器。
可使用身份:就是把来源用户切换成什么身份使用,ALL代表可以切换成任意身份,这个字段可以省掉。
授权命令:代表root把什么命令授权给普通用户,默认是ALL,代表任何命令,这个当然不行,如果需要给那个命令授权,写入命令名称即可,不过需要注意一定命令写成绝对路径。
文件 特殊权限SetUID,setGID,Sticky BIT
1.SetUID:
只有可以执行的二进制程序才可以设定SUID。
命令执行者要对程序拥有x权限。
命令执行者在执行程序时获得该程序文件属主的身份,(在执行程序的过程中灵魂附体为文件的属主。)
SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效。
在这里插入图片描述
在这里插入图片描述
/usr/bin/passwd 命令拥有特殊权限SetUID,也就是在属主的权限位的执行权限是s,可以这样来理解它:当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者身份执行。/usr/bin/passwd 命令具有SetUID权限,所有者为root(Linux中命令默认所有者都是root),也就是说当普通用户使用passwd更改自己密码的时候,那一瞬间突然灵魂附体了,实际上是在用passwd命令所有者root的身份执行passwd命令。root当然可以将密码写入/etc/shadow文件,所以普通用户也可以修改/etc/shadow文件,命令执行完成后该身份也随之消失。
在这里插入图片描述
如果取消SetUID权限,则普通用户就不能修改自己的密码了。
有几点建议:
关键目录应该严格控制写权限。
用户的密码设置要求严格遵循密码三原则。
对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限。
SetGID
1.针对文件的作用。
SGID既可以针对文件生效,也可以针对目录生效,这和SUID明显不同,如果针对文件SGID的含义如下:
只有可执行的二进制程序才可以设置SGID权限。
命令执行者要对该程序拥有x权限。
命令执行者在执行程序的时候,组身份升级为该程序文件的属组。
SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效。
文件特殊权限之Sticky BIT
Sticky BIT粘着位,也简称SBIT,SBIT目前仅针对目录有效,它的作用如下:
粘着位目前只对目录有效。
普通用户对该目录拥有x和w权限,即普通用户可以在此目录拥有写权限。
如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下的所有文件,包括其他用户建立的文件,一旦赋予粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。
4.设定文件特殊权限
特殊权限这样来表示:
4代表SUID
2代表SGID
1代表SBIT
文件系统属性chattr权限
chattr[±=][选项] 文件或者目录名。
选项:
+:增加权限。
-:删除权限。
=:等于某权限。
i:如果对文件设置i属性,那么不允许对文件 进行删除,改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据,如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除。
e:Linux中绝大部分的文件都默认拥有e属性,表示该文件是使用ext文件系统进行存储的,而且不能使用‘chattr -e’命令取消e属性。
2查看文件系统属性lsattr
lsattr 选项 文件名
选项:
-a:显示所有文件和目录。
-d:若目标是目录,仅列出目录本身的属性,而不是子文件的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值