linux特殊权限

特殊权限

setuid权限

作用
	让执行该命令的用户以该命令的属主身份去执行
	s是特殊权限,数字是4000,占用属主位置上的执行权限
	如果是s:证明该文件原属主权限位上有执行权限
	如果是S:证明该文件原属主权限位上没有执行权限
授权方法
	chmod u+s 文件名
	chmod 4000 +原文件权限 文件名
当...普通用户使用passwd命令来更改自己的密码时,实际上是在用passwd命令的所有者,所有者是谁?就是root的身份在执行passwd命令。那root,当然可以将密码写入 /etc/shadow 文件中了啊,所以普通与用户也可以修改 /etc/shadow文件,命令执行完成后该身份也就消失了。

setgid权限

作用
	将目录设置为SGID后,如果在该目录下创建文件,都将与该目录的所属组保持一致
	属组权限位上的执行权限由x变成了s
		如果是s:证明该文件属组权限位上有执行权限
		如果是S:证明该文件属组权限位上没有执行权限
	数字权限是2000
授权方法
	chmod g+s
	chmod 2000+原文件权限

sbit粘滞位

作用
	在原本的其他用户权限位的执行权限位由x变成了t,但只对目录有效果
		如果是小写的t,表明在其他用户权限位上有执行权限,也就是有x
		如果是大写的T,表明在其他用户权限位上没有执行权限,也就是没有x
	数字权限是1000
授权方法
	chmod o+t  目录
	chmod 1000+原文件权限 目录

权限属性chatter概述

chattr只有root用户可以使用,用来修改文件系统的权限属性,建立凌驾于rwx基础权限之上的授权
选项
	+i
		不能移动,不能删除,可以拷贝,不能修改内容
	+a
		只能追加内容和拷贝
lsattr: 查看chattr设置的特殊权限

进程掩码umask

umask:查看系统进程掩码
当我们登录系统之后,创建一个文件总是有一个默认权限,比如:
目录默认权限:755
文件默认权限:644
	在系统中,默认umask为022,当我们创建目录时,目录的最大权限是777,减去022,就变成了755,当我们创建文件时,文件最大权限是666,减去022,就变成了644
	umask涉及的配置文件
		/etc/profile
			在这个文件中有这样一个规定
				当uid大于199,且gid和uid相同时,创建的目录或文件就要用默认权限-002
				如果上述有一条不符合,创建出来的目录或文件就要用默认权限-022