[关闭]
@perkyoung 2015-01-29T11:20:48.000000Z 字数 647 阅读 1753

文件和目录

UNIX


如果用open或者creat创建已经存在的文件,则该文件的访问权限位不会改变。例如,linux默认的umask是002,创建的文件的访问权限位是:u=rwx,g=rwx,o=rx,但是当这个已存在文件的的访问权限位为u=rwx,g=,o=时,创建文件依然是这个访问权限位

设置用户ID和设置组ID
一个普通用户,如何以root权限执行一个程序呢?首先,将该程序的所有者改成root用户,然后设置该程序文件的设置用户ID位,这样程序文件的有效用户id就改为了root,总所周知,文件有效用户ID决定了该程序文件的访问权限,该进程拥有了超级用户访问权限。

access函数
不管程序是否设置了设置用户ID,都可以以实际用户身份对某一文件进行访问权限测试

文件长度

remove(),unlink()
unlink()函数有一个很棒的特性,就是可以确保程序崩溃,依然能删除指定的临时文件,open之后,紧接着调用unlink(),程序不会立刻让该文件的引用计数减1,而是等待程序结束或者崩溃

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注