Chmod
基础
chmod 有4位数,每位为0~7。
第一位:默认为0,4表示设置uid(setuid),2表示设置gid,1表示设置粘滞位
第二位:所属用户u的权限,4,2,1
第三位:所属用户组g的权限,4,2,1
第四位:其它用户o的权限,4,2,1
id
uid(user id)
- 用户的ID
gid(group id)
- 用户组id
ruid(real user ID)
- ruid可以理解为哪个用户执行了这个程序或者文件
euid(effective user ID)
- 当进程执行时间, 操作系统会对euid进行识别, 以此来判断到底用什么权限来执行这个进程。
setuid
设置进程的euid
为程序的拥有者的uid
,即当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。
chmod 4750 表示文件执行时以文件所有者的身份执行。
- 可以用作普通用户执行指定的一些系统命令?
粘滞位(Sticky bit)
粘滞位权限是针对目录的,对文件无效。
当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。
chmod o+t 的方式给other用户设置粘滞位