强制锁的一些标志位
1)有的应用并不适合使用强制锁,通过一些标志位可以有选择的允许或不允许对一个文件使用强制锁
2)inode结构中的i_flag字段中的MS_MANDLOCK标志位
3)super_block结构中i_flag字段中的MS_MANDLOCK标志位:在安装文件系统时,使整个设备上的文件允许或不允许使用强制锁
如果一个文件所属组的用户没有可执行权限(S_IXGRP位),那么S_ISGID的设置是没有意义的;这类似于S_ISUID位,设想一下,如果一个文件的属主都没有执行权限(S_IXUSR位),那么设置IS_ISUID位又有什么用呢?因此,正常情况下,S_ISGID=1,S_IXGRP=0的这种自相矛盾的情况是不应该出现的
正是因为如此,老一些的版本,如Unix System V使用这种组合来来控制强制锁的使用,总结一下:
只有inode结构或super_block结构中的MANDLOCK标志位置1,并且S_ISGID=1,S_IXGRP=0才允许使用强制锁
阅读(1326) | 评论(0) | 转发(0) |