-
文件就三个权限
所有者权限 组权限 其他权限 有时候不够用 这时候就需要ACL权限 用来解决用户身份不够的问题
查看分区ACL权限是否开启
dumpe2fs -h /dev/sda5
#dumpe2fs命令查询指定分区详细文件系统信息的命令
-h 仅显示超级块中信息,而不显示磁盘块的详细信息
文件信息: Default mount options: user_xattr acl 那就说明分区是支持acl的
临时开启分区ACL权限 mount -o remount,acl /
#重新挂载根分区,并挂载加入acl权限
永久开启分区ACL权限
vi /etc/fstab UUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1(#启动是否需要检测) 1(#启动是否需要备份) #加入acl
mount -o remount / #重新挂载文件系统或重启系统,使修改生效
查看全部 -
1、UUID分区唯一标志
2、/ 挂载点
4、defaults 挂载的时候使用默认权限,若默认没有acl权限只需要这样写 defaults,acl即可
5、分区启动时是否需要检测
6、分区启动时是否需要备份
序号为参数顺序
查看全部 -
永久开启分区ACL权限
写入配置文件
/etc/fstab
查看全部 -
临时开启分区ACL权限
mount 命令
重新挂载根分区,并挂载加入acl权限
mount -o remount ,acl/
-o是特殊挂载
remount是重新挂载
/根分区
查看全部 -
df:查看分区
dumpe2fs /dev/sda5查询根分区的权限(显示的块太多)
dumpe2fs -h /dev/sda5 显示超级块
查看全部 -
ACL权限是否开启
ACL权限作用在分区上,是一个挂载权限
查看全部 -
Windows分配权限:不管所有者、所属组,想让哪个用户拥有权限,直接将文件操作权限给了就可以,对windows来说,不用考虑文件的所有者、所属组,只要考虑打算给谁权限
所有者、所属组、其他人三个身份过于简单,导致复杂身份不能够使用
Linux参考Windows下的权限,赋权限
查看全部 -
ACL权限:解决用户对文件身份不足的问题
查看全部 -
sticky BIT 粘着位作用 (与setUID、setGID一起)
查看全部 -
chattr [+-=] [选项] 文件名或目录:
-- +:增加权限
-- -:删除权限
-- =:等于某权限
chattr 常用选项包括:i和a (等价于insert和append)
i 不能增加,不能删除
文件:不能删除文件(当然不能改名),不能修改文件内容
目录:不能删除目录(当然不能改名),不能修改目录里面的内容(新增文件、删除文件),只能修改目录下文件的数据(即改文件名)。
a :只能在文件中追加内容,不能删除和修改内容,文件被赋予a属性后,linux进制vi/vim操作,只能echo ... >> 文件名 方式追加;只能在目录中建立和修改文件,但不允许删除
lsattr 文件名 查看chattr权限
-a 显示所有文件和目录
lsattr -d 目录名 #查看目录
查看全部 -
1.SBIT权限:仅能针对目录生效 ,有粘着位作用
2.要赋予SBIT 权限必须给目录普通用户赋予7权限,因此也比较危险。
3.赋予SBIT权限: chmod o+t 或者 chmod 1***
4.目录有SBIT权限后,任何普通用户都可以在目录下新建文件,但是只能删除自己创建的文件,不允许删除其它用户的文件。
5. 目录默认有SBIT权限
注:不建议手工建立拥有粘着位的目录
SBIT权限,针对其他人,在其他人的x权限位置显示t;
chmod 1755 目录名 或 chmod o+t 目录名 为目录设定SBIT权限; chmod 0777 目录名 或 chmod o-t 目录名 取消目录的SBIT权限
查看全部 -
SetUID 只能对文件设置;
SetGID,即能对文件,又能对目录设置;
设置SetGID权限2;SetUID权限4;
SetGID针对文件的作用:
例如:
/usr/bin/locate有SGID权限,执行locate命令时用户user1的组身份会升级为slocate组,
而slocate组对/var/lib/mlocate/mlocate.db有r权限,
所以普通用户可以使用locate命令查询mlocate.db数据库,
命令结束后user1用户的组身份从slocate组返回原来组
SetGID 针对目录的作用!
1.用户必须附有对目录的rx权限
2.用户在目录中创建文件的所属组均为该目录所有组,而非用户的所属组
3.目录有SGID权限后,在目录中建立的新文件的组和目录文件的组默认相同
查看全部 -
危险的SetUID(尽量少操作SetUID)
关键目录应严格控制写权限。比如“/”、“/usr”等
用户的密码设置要严格遵守密码三原则:复杂性、易记性、时效性
实际工作当中应该将默认具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限。
绝不允许给系统文件赋SUID权限,如chmod 4755 /bin/vi
SUID和SGID检测脚本
find / -perm -4000 -o -perm -2000 > suid.log
定期检查suid 的脚本:
#!/bin/bash
find / -perm -4000 -o -perm -2000> /tmp/setuid.check
#搜索系统中所有拥有SUID和SGID的文件,并保持到临时目录中
for i in $(cat /tmp/setuid.check)
#做循环,每次循环取出临时文件中的文件名
do
grep $i /root/suid.log> /dev/null
#比对这个文件名是否在模板文件中
if [ "$?" != "0" ]
#检测上一个命令的返回值,如果不是0,证明上一个命令报错
then
echo "$i isn't in listfile! ">>/root/suid_log$(date +%F)
#如果文件名不在模板文件中,则输出错误信息,并把报错到日志中
fi
done
rm -rf /tmp/setuid.check #删除临时文件
查看全部 -
特殊权限尽量少修改;尤其是SUID & SGID
SetUID的功能
只能对文件进行设置,
必须是可执行的二进制程序,才能赋予SUID权限
执行文件的用户必须有该文件的x权限
用户在执行程序过程中,是以文件所有者的身份执行该文件的。
SetUID权限只在该程序执行过程在有效,也就是说身份改变只在程序执行过程中有效
#0022首位的0是特殊权限
#suid只能针对可执行文件,如果对没有执行权限的文件执行suid,则会变成大写S,s=S+x
4代表SUID
chmod 4755 文件名 或 chmod u+s 文件名 为文件设定SetUID权限; chmod 0755 文件名 或 chmod u-s 文件名 为文件取消SetUID权限(注:s指 SUID)
passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码
cat 命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容
查看全部 -
授权普通用户可以添加其他用户
visudo #编辑/etc/sudoers文件,即编辑sudo配置
sudo -l --查看sudo权限
user1 ALL= /usr/sbin/useradd
user1 ALL= /usr/bin/passwd 授予用户设定密码的权限
user1 ALL=/bin/vi #赋予user1使用vi更改任意文件的权限(包括/etc/shadow阔怕!) (会造成严重后果, 在运行该权限时,是root身份,甚至能更改root密码)
禁止普通用户使用sudo给设置root账号的密码user ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
sudo命令,所有字母多次使用,(后跟空格)不许passwd后加空更改密码, 不许passwd后跟root !注意中间必须有空格,顺序不能颠倒
注意事项:不能设定root用户密码
在centos7上 不加空格也可以 zdy ALL=/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd "",!/usr/bin/passwd root
不给普通用户设置root密码 不要给他vi权限 一定切记
查看全部
举报