首页 > 代码库 > APUE:文件和目录

APUE:文件和目录

文件权限有:

S_IRWXU = S_IRUSR | S_IWUSR | S_IXUSR
S_IRWXG = S_IRGRP | S_IWGRP | S_IXGRP
S_IRWXO = S_IROTH | S_IWOTH | S_IXOTH

 

文件类型有:

S_ISREG()		// 普通文件
S_ISDIR()		// 目录
S_ISCHR()		// 字符特殊文件(设备)
S_ISBLK()		// 块特殊文件(设备)
S_ISFIFO()		// 管道或 FIFO
S_ISLNK()		// 符号链接
S_ISSOCK()		// 套接字

 

设置用户ID和设置组ID:

  • 实际用户ID、实际组ID,表示实际是谁
  • 有效用户ID、有效组ID、附属组ID,用于文件权限检查,执行设置了set-user-ID和set-group-ID位的文件时该进程有效ID不等于实际ID
  • 保存的设置用户ID、保存的设置组ID

 

新文件和新目录的所有权:

  • 用户ID=进程有效用户ID
  • 组ID=进程有效组ID或所在目录组ID(Linux下由所在目录的set-group-ID位指定)

 

各种 *at() 函数中参数 fd 是什么:

int fd = open("/root/", O_RDONLY);
mkdirat(fd, "abc", S_IRWXU);

  

APUE:文件和目录