当前位置:嗨网首页>书籍在线阅读

18-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

15.6 总结

stat()系统调用可获取某一文件的相关信息(元数据),其中大部分取自文件的i节点,这些信息包括文件的所有权、文件权限以及文件时间戳。

程序可调用 utime()、utimes()或类似编程接口,去更改文件的上次访问时间及上次修改时间。

每个文件都有一个与之相关的用户ID(属主)和组ID,以及一组权限位。为了限制用户对文件的访问权限,把用户划分为3类:文件属主(亦称用户)、属组以及其他用户。可把3种权限授予上述3类用户,分别是读、写、可执行权限。目录也与之相同,但权限位的含义则略有不同。可利用系统调用chown()和chmod()来更改文件的所有权及权限。系统调用umask()则用来设置权限的位掩码,当进程新建文件时,会按位掩码来关闭相应权限位。

文件和目录还用到了3个额外的权限位。可将set-user-ID和set-group-ID权限位应用于程序文件,在进程的执行过程中假借另一有效用户或组id(亦即属于该程序文件)的身份从而获得特权。在以nogrpid (sysvgroup)选项装配的文件系统上,对驻留于其上的目录,可通过设置set-group-ID权限位来控制如下行为:该目录下新建文件的组ID是继承进程的有效组ID,还是父目录的组ID。当将sticky权限位应用于目录时,其作用相当于限制删除标志。

I节点标记控制着文件和目录的各种行为。尽管发源于ext2,但如今已得到了几种其他文件系统的支持。