FreeBSD的namei()调用LOOKUP操作及其错误

时间:2017-08-01 00:43:34

标签: c linux freebsd

我查看了man page以及我在网上找到的所有内容,但是我找不到详细信息关于为namei()调用的LOOKUP操作引发的错误(FreeeBSD) )。我甚至查看了源代码(kern / vfs_lookup.c)。我的问题是,假设作为一个典型的用户(非root)我想对一个文件进行查找操作(比如5,这是在/ 1/2/3/4/5),namei()会抛出EACCES如果用户在整个文件路径的至少一个组件(例如3)上没有权限(搜索或读取或两者),则为EPERM或EPERM?如果在目录3上没有搜索或读取烫发,namei()应该错误输出EACCES吗?

1 个答案:

答案 0 :(得分:1)

规则是:如果某些内容被权限拒绝(例如,您可以使用chmod(1)或ACL设置的内容),则会获得EACCES。否则,当您尝试不依赖于权限的内容时,例如更改文件所有者,您将获得EPERM。