apue学习日志.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
apue学习日志.doc

---------------------------------------------2011-07-27--------------------------------------------- #include sys/types.h #include sys/stat.h #include fcntl.h int creat(const char* pathname, mode_t mode) 函数功能等效于 open(pathname,O_WRONLY|O_TRUNC|O_CREAT,mode) 所以很少使用creat()。 ---------------------------------------------2011-07-30--------------------------------------------- 当执行一个程序文件时,进程有效用户ID通常就是实际用户ID,进程有效组ID就是实际组ID,但是可以在文件方式字(st_mode)中设置一个特殊标志,其定义就是“当执行其文件时,把进程的有效用户ID设置为文件的所有者(st_uid)“,与此类似,把进程的有效组ID设置为文件的组所有者(st_gid),在文件方式字中这两位称之为设置-用户-ID(set-user-id)和设置-组-ID(set-group-id)。 文件存储许可权st_mode,共9位: 为了删除一个文件,必须对包含这个文件的目录具有写和执行权限,而对于文件本身则不需要读写权限。 进程每次打开,创建或者删除一个文件时,内核就会进行文件存取许可权测试。而这可能涉及文件的所有者(st_uid,st_gid),进程的有效ID(有效用户ID和有效组ID),以及进程的添加组ID(若支持的话)。 进程的有效用户ID是0,即超级用户,则允许存取。 若进程有效ID等于文件的所有者,即进程拥有此文件,则适当的所有者存取许可权位被设置,则允许存取。 若进程的有效组ID或进程的添加组ID之一等于文件组ID,若适当的组存取许可权位设置,则允许存取。 若适当的其他用户存取许可权位被设置,则允许存取。 ---------------------------------------------2011-08-01--------------------------------------------- 新文件的用户ID和组ID 新文件设置的用户ID为进程的有效用户ID,组ID设置为进城的有效组ID或者它所在的目录的ID(设置了设置—组—ID位)。 进程ID和文件访问权的问题 与进程相关的ID有六个,如下: 而每个文件都有一个相关的所有者和组所有者。通常进程有效ID=实际用户ID。当使用open打开一个函数的时候内核进程以有效用户ID和有效组ID为基础检查文件的存取许可权。但是也有的时候希望以实际用户ID和实际组ID来测试文件的存取许可权。此时可以使用access umask()是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限,在设置之后通常在下一次设置或者退出SHELL之后失效。创建文件时,如果umask中设置了某些文件存取权限位,那么create或者open函数指定的mode中的权限位和umask中相同则是不设置此权限的。 ---------------------------------------------2011-08-02--------------------------------------------- chmod(fielpathname,mode) fchmod(files,mode),其中mode常数如下: Ls命令在显示执行时设置组ID表示为l,如: 文件截短 #includeunistd.h #includesys/types.h Int truncate(pathname,length); Int ftruncate(filedes,length);将文件截短为length长度。 UNIX文件系统 去除自举块和超级块之后的文件系统如下: 目录块由若干的目录项组成,目录项由文件名和i节点编号数组成。由于目录也是文件所以文件名就是目录名。任何一个叶目录其连接数总是2,一个是命名该目录的目录项(testdir)和 . 项。从图中可以看出1267是一个目录。 ---------------------------------------------2011-08-04--------------------------------------------- link()、unlink()函数浅析 因此 ---------------------------------------------2011-08-05-------

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档