即将在EXT2中打开文件时,在哪里检查ACL权限?

在EXT2 file.c中,打开文件操作(.open)指向dquot_file_open,它进一步指向fs / open.c中存在的generic_file_open.

generic_file_open看起来像下面的代码

int generic_file_open(struct inode * inode, struct file * filp)
{
    if (!(filp->f_flags & O_LARGEFILE) && i_size_read(inode) > MAX_NON_LFS)
        return -EOVERFLOW;
    return 0;
}

即将打开文件时,在哪里检查ACL权限?

我什么时候用Google搜索并使用LXR浏览了代码,发现了以下路径.

do_sys_open-> do_filp_open-> path_openat-> do_last-> may_open-> inode_permission-> do_inode_permission-> generic_permission-> acl_permission_check-> check_acl-> posix_acl_permission

但是我不明白EXT2的.open如何链接到do_sys_open.

我们非常感谢您在打开文件时让我知道检查ACL权限的任何帮助.

解决方法:

您从错误的角度看待它:诸如do_sys_open之类的名称是系统调用的入口点,并且最终将在验证权限后通过VFS层来查找ext2打开例程.

上一篇:OSPF与acl综合实验


下一篇:ACL