一、特殊权限的介绍 之前我们提到了特殊权限有三个,这三个特殊权限是在可执行程序运行时影响操作权限的,它们分别是SUID,SGID,sticky-bit位 特殊权限 说明 SUID 当一个设置了SUID stickybit 对一个文件设置了sticky-bit之后,尽管其他用户有写权限,也必须由属主执行删除、移动等操作;对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许其属主执行删除、移动等操作
第二个到第四个是对应于SUID,SGID,sticky-bit。 SUID:设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。 如果所有者是 root 的话,那么执行人就有超级用户的特权了 SGID: 设置了SUID 位的文件被执行时,该文件将以具有所属组的特权 sticky-bit: sticky 位要求操作系统既是在可执行程序退出后
Sticky-bit:目录中的文件只能被文件的所属用户和root用户删除。 它们是这样表示的: SUID和SGID用s表示;Sticky-bit用t表示 SUID是占用属主的x位置来表示 SGID是占用组的x位置来表示 sticky-bit是占用其他人的x位置来表示 例如:drwxrwxrwt 5 root root 4096 06-18 01:01 /tmp它就拥有sticky-bit权限。 -rwsr-xr-x 1 root root 23420 2010-08-11 /usr/bin/passwd它就拥有SUID权限 SUID,SGID,sticky-bit同样也有数字的表示法: 切换到jkXX账户,进入/tmp目录,建立文件夹myfold,设置文件夹myfold权限为777,并且sgid和sticky-bit为1,用长格式列出,观察myfold的属性;进入myfold,创建新文件
如果所有者是 root 的话,那么执行人就有超级用户的特权了 SGID: 设置了SUID 位的文件被执行时,该文件将以具有所属组的特权 sticky-bit: sticky 位要求操作系统既是在可执行程序退出后
umask用在创建文件或目录时设置权限掩码,通常是0022: shell> umask 0022 注:0022等价于022,0022中第一个0用于sticky-bit,本文不做讨论,有兴趣的请自查。
19.sticky-bit 对一个文件设置了 sticky-bit 之后,尽管其他用户有写权限,也由属主执行删除、移动等操作。 对一个目录设置了 sticky-bit 之后 , 存放在该目录的文件仅准许其属主执行删除、 移动等操作。 20.
SUID/SGID 的文件: # find / - xdev \( -perm -4000 -o -perm-2000 \) - ls 2)查找指定目录/dir下的所有用户可写的设置了粘着位(sticky-bit