跳转至

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用户设置粘滞位