SetUID
说明:可以让用户执行这个 命令/程序 的时候,瞬间变为该文件所有者的身份,命令进程运行完成之后,立刻恢复原先的身份。一般程序所有者设置为root比较常见**重点内容**
》如果用户不是该程序所有者也不是所属组成员,该程序其他用户权限必须有x权限,
》如果用户不是该程序所有者 是所属组成员,该程序所属组权限必须有x权限
》执行该程序前提你要满足程序的基本权限u g o ,
》这样理解:先判断用户是否有该程序执行权限,如果有:就以该程序所有者所给权限去执行程序里面的内容;如果没有,不能执行该程序查看SetUID权限(ls -l):占用原先“所有者”的x权限位。 rws r-x r-x小写s: 表示原先是具有x权限的 大写S:标识原先没有x权限。设置SETUID方法:chmod u+s filename #增加权限chmod u-s filename #删除权限
数字设置方法:chmod 4755 filename #4表示setuid权限,755表示对应的基础权限(u g o)
SetGID
说明:
类似setuid,运行文件的时候, 以文件的 “所属组” 身份运行。
占用原先“所属组”的x权限位。rwxr-sr-x**重点内容**
1、目录下创建所有 “文件和子目录” 的所属组都会继承该目录 “所属组” 属性 。
2、创建的 “子目录” 将会继承 具有SetGID权限的 父目录的 SetGID 属性 。
3.理解:先判断用户是否满足对该文件或目录基本权限,满足:可以以文件所属组权限去操作文件内容,反之,不能进行操作查看方法:
ls -l 设置SETGID方法:chmod g+s filename #增加权限chmod g-s filename #删除权限数字设置方法:chmod 2755 filename #2表示setgid权限,755表示对应的基础权限(u g o)
Sticky
t 权限。 一般用于目录,用于公共的目录。 权限为777的目录
**重点内容**
》用户在具有t权限的目录下,以自由的创建文件,但是只能删除所有者为自己的文件
》t 占用x权限的位置。 t表示原先具有x, T表示 原先没有x,设置方法(一般给others加) chmod o+t /test
数字字方法: chmod 1755 /test #1表示sticky权限,755代表普通权限(u g o)
特殊权限 数字对应含义
0 表示没有特殊权限
1 表示 Sticky t
2 表示 SetGID s
4 标识 SetUID ssetuid setgid sticky4 2 1421码理解:1: 0+0+1 (sticky)2: 0+2+0 (setgid)3: 0+2+1 (sticky、setgid)4: 4+0+0 (setuid)5: 4+0+1 (setuid 、sticky)6: 4+2+0 (setuid 、setgid)7: 4+2+1 (setuid 、setgid、sticky)可以同时去设置多个权限
例如:
chmod 3755 file #设置了特权限sticky setgid,普通权限rwxr-xr-x
利用 find -perm 查看特殊权限的文件
#只要是“具有 SetUID ” 都列出来 -perm -4000 ,wc -l统计行数
find /bin /sbin /usr/sbin /usr/bin -perm -4000 | wc -l
Attr 特殊权限:
设置权限chattr 【参数】 文件目录参数:-a :只允许追加数据,不允许改动文件(vim内容,权限,所有者,所属组)甚至不能正常的删除文件,只能读取文件内容,只能用echo追加内容-i :系统不允许对这个文件进行任何的修改,包括大小,权限,所有者所属组,创建时间等。使用方法:chattr +a /home/new1/.bash_history # 增加a权限chattr -a /home/new1/.bash_history #删除a权限chattr +i /home/new1/.bash_history #增加i 权限chattr -i /home/new1/.bash_history #删除i 权限查看attr权限文件lsattr filename -a # -a显示所有(包含隐藏文件)