【问题标题】:Where does kernel checks file's privilege before access?内核在访问之前在哪里检查文件的权限?
【发布时间】:2018-01-14 06:30:09
【问题描述】:

我试图了解内核如何检查文件的权限,以及哪些内核文件实际上负责这项任务。

我没有找到这个问题的文档,除了 https://www.kernel.org/doc/Documentation/security/credentials.txt 尝试在内核中搜索凭据关键字,我发现它在内核中的许多文件中都有使用:

https://elixir.free-electrons.com/linux/v4.8/ident/current_cred

问题的答案似乎与fsuid 凭据有关,但我没有找到它在内核中用于文件访问的方式和位置。

那么,内核在哪里执行测试进程是否允许文件特权的实际任务?

【问题讨论】:

    标签: security linux-kernel credentials privileges


    【解决方案1】:

    好像找到了文件权限检查的代码。

    这是检查文件权限的地方:

    在文件 /fs/namei.c

    /*
     * This does the basic permission checking
     */
    static int acl_permission_check(struct inode *inode, int mask)
    {
        unsigned int mode = inode->i_mode;
    
        if (likely(uid_eq(current_fsuid(), inode->i_uid)))
            mode >>= 6;
        else {
         ....
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-16
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多