- 论坛徽章:
- 0
|
[zt]在复习suid,sgid时,我发现 \n如果root给mkdir设置了suid位,也就是4755,-rwsr-xr-x,那么假如一个uid500,gid500,umask=0002的普通用户mike在/下面创建目录文件aa的话 \n我们可以用ls -l发现这个文件属性为 \ndrwxrwxr-x root mike aa \n\n显然这个文件属主为root,并且mike不能对aa执行rmdir操作,权限不够! \n\n而如果mike在自己的主目录/home/mike/下面创建aa时 \n该文件属性依然为 \ndrwxrwxr-x root mike aa \n可见属主还是root \n但是此时mike可以对aa进行rmdir操作 \n\n可能有人疑问,为什么同一个文件同一个创建人而且属主都是root,一个可以删除而另一个不行呢? \n我们应该明确的是两点 \n1,对一个目录文件(或普通文件)进行rmdir(或rm)操作不是取决于该文件的权限,而是取决于该文件的父目录的权限; \n/aa的父目录为/,默认为drwxr-xr-x root root,所以mike无权限对/下面任何文件(不包括再下一层文件)进行rmdir操作(rmdir 须有wx权限) \n/home/mike/aa的父目录为/home/mike,默认为drwx------ mike mike,所以mike在这个目录下拥有rwx权限,可对该目录下任何目录文件rmdir,不管这个目录文件属主及权限情况怎么样~~ \n2,\"当你创建一个文件时,你就是该文件的属主\"这句话有局限性!如果对mkdir,touch等可以用来创建文件的命令设置了suid的话,那文件的属主就成了root,而创建者并不是属主!因为有了suid,你在执行该命令的时候,你就相当于root在执行这个命令! \n\n所以我做个比喻的话,root设置的suid就相当于圣火令,见圣火令如见教主(root)~~哇哈哈~ \n\n以上是我复习suid的一点心得,如有不对,请大家指正! |
|