我有一个名为test的文件没有rwx权限(我已经使用chmod删除了所有权限)
[root @ dev] #ls -l test ----------。 1 root root 21 Sep 7 22:22 test
Q1)我正在尝试运行以下代码来检查文件是否可以打开。返回到fd的值是正数。不应该fd为-1。 ?
fd = open(fname, O_RDONLY);
if (fd == -1) {
/* Print error message */
return (-1);
}
close(fd);
Q2)我甚至可以捕获文件。我捕获文件时不应该出错。 [root @ dev] #cat test 这是一个测试文件。 [根@ dev的]#
注意:我使用的是root帐户。
答案 0 :(得分:4)
简短回答:root可以做任何事情。
更长的答案:通常,要在给定模式下打开文件,POSIX要求基于您的uid和gid的权限允许您所请求的访问类型,或您拥有“适当的权限”,一个实现定义的短语。在大多数实际实现中,满足“适当权限”的一个条件是root用户(uid 0)。