《UNIX环境高级编程》(第三版)阅读笔记---2018-5-12

dup()用来复制参数fd 所指的文件描述词, 并将它返回. 此新的文件描述词和参数oldfd 指的是同一个文件, 共享所有的锁定、读写位置和各项权限或旗标. 例如, 当利用lseek()对某个文件描述词作用时, 另一个文件描述词的读写位置也会随着改变. 不过, 文件描述词之间并不共享close-on-exec 旗标。

UNIX文件类型:普通文件(regular file)、目录文件(directory file)、块特殊文件(block special file)、字特殊文件(character special file)、FIFO、套接字(socket)、符号链接(symbolic link)。

可用S_ISREG()、S_ISDIR()等宏判断文件类型。

#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)

与一个进程相关的ID:

实际用户ID           

实际组ID              我们实际是谁

有效用户ID

有效组ID

附属组ID              用于文件访问权限检查

保存的设置用户ID

保存的设置组ID    由exec函数保存

当我们用名字打开任一类型的文件时,对该名字中包含的每一个目录,包括它可能隐含的当前文件目录都应具有执行权限(对于目录执行权限位常被称作搜索位)。

原文地址:https://www.cnblogs.com/MrRS/p/9029757.html