【发布时间】:2012-05-06 17:51:16
【问题描述】:
在EXT2 file.c 中,打开文件操作(.open) 被指向dquot_file_open,它又指向generic_file_open,它存在于fs/open.c 中。
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 权限在哪里?
我什么时候用谷歌搜索并使用 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 权限的路径,我们将不胜感激。
【问题讨论】:
标签: linux filesystems acl ext2