文章目录
4.1 引言
这一章将会学习文件系统的其他特征和文件的性质
4.2 函数stat、fstat、fstatat和lstat
lstat函数,平常常用的ls -l
以列表的形式列出文件的状态信息
4.3 文件类型
7种
普通文件
目录文件
块特别文件
字符特别文件
FIFO(管道)
套接字
…
4.4 设置用户ID和设置组ID
与一个进程相关联的ID有6个或更多
我们实际上是谁:
实际用户ID
实际组ID
用于文件访问权限检查:
有效用户ID
有效组ID
附属组ID
由exec函数保存:
保存的设置用户ID
保存的设置组ID
4.5 文件访问权限
所有文件类型(目录、字符特殊文件等)都有访问权限(access permission)
unix、linux等将文件访问权限划分为:u表示用户(所有者)、g表示组、o表示其他
术语用户表示文件所有者(owner)
文件访问权限规则:
1、用名字打开任一类型的文件时,对该名字中包含的每一个目录。包括它可能隐含的当前工作目标都应具有执行权限。这就是为什么对于目录其执行权限位通常被称为搜索位的原因。
文件权限中的执行权限使我们可通过该目录(也就是搜索该目录寻找一个特定的文件名)。引用隐含目录的另一个列子是,如果PATH环境变量指定了一个我们不具有执行权限的目录,那么shell绝不会再该目录下找到可执行文件。
…
endtime:2019-05-05-晚
begin time:2019-05-06
4.6 新文件和目录的所有权
新建文件的g-id有两种情况:
1、继承来自进程的g-id
2、继承所在目录的g-id
4.7 函数access和faccess
按实际用户ID和实际组ID进行访问权限测试
4.8 函数umask
为进程设置文件模式创建屏蔽字,并返回之前的值。
访问权限位
umask设置的访问权限位会禁止访问相应的权限
4.9 函数chmod、fchmod和fchmodat
4.10 粘着位(tiicky bit)
设置黏着位的程序文件在程序第一次被终止时,程序正文部分的一个副本会(程序的正文部分是机器指令)黏着在交换区。这使得下次执行该程序时能较快的将其载入内存。
后来在unix中被称为保存正文位(saved-text-bit)
/tmp和/var/tmp是设置粘着位的典型候选者——任何用户都可在这两个目录中创建文件。
4.11 函数chown、fchown、fchownat、和lchown
change owner
endtime:2019-05-06-晚