3.1.4 文件属性
粘住位S_ISVTX
粘住位S_ISVTX,如果在一个执行文件设置了该位,则执行改文件且进程结束后,系统会把该进程的正文部分放置磁盘的交换区中,在交换区中文件是连续存放的,不像非交换区一样,一个文件的内容分散在磁盘的几个块中。所以在重新启动该执行文件时就可以加快速度启动,直接从交换区中把进程的正文部分取至内存中运行。现今的系统扩展了该位的使用范围,比如说针对目录设置该位,则只有对该用户具有写权限的用户在满足以下条件时才能删除或更名该目录下的文件:
(1)拥有此文件;
(2)拥有此目录;
(3)超级用户权限
给文件夹一个粘住位的作用:
一旦给一个文件夹粘住位,那么所有的用户都可以在该文件夹下创建,删除,创建文件。但!创建的都是属于自己的文件,不能操作其他用户的文件。
SUID/SGID位
SUID位的功能简单的说就是让组用户或其他用户在执行该文件时拥有文件所有者(own)权限。
SGID位的功能简单的说就是让组用户或其他用户在执行该文件时拥有文件所有组(group)权限。
由于SUID和SGID是在执行程序(程序的可执行位被设置)时起作用,而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID位是没有多大意义的。
如果一个文件被设置了SUID或SGID位,会分别表现在所有者或同组用户的权限的可执行位上
当一个程序设置了为SUID位时,内核就知道了运行这个程序的时候,应该认为是文件的所有者在运行这个程序。即该程序运行的时候,有效用户ID是该程序的所有者