gpt4 book ai didi

linux - Linux 功能如何与零/非零 UID 相关?

转载 作者:太空狗 更新时间:2023-10-29 11:22:41 26 4
gpt4 key购买 nike

能力 manpage比较长,有些东西我没有完全理解。

例如,决定我们是否有权访问 CAP_NET_RAW 的函数看起来如何?

输入:

  • a = 有效 uid 为 0
  • b = 有一些真实的/保存的/任何为 0 的 uid
  • c = CAP_NET_RAW 是 +e
  • d = CAP_NET_RAW 是 +i
  • e = CAP_NET_RAW 是 +p
  • f = CAP_NET_RAW 被排除在“边界集”之外

输出:

  • x = 我们现在可以调用 socket 而不是获取 EPERM
  • y = 经过一些技巧(不涉及基于文件系统的 chmod +ssetcap 访问提升或连接到外部助手),例如使用 capsetp,我们终于可以打开原始套接字。

据我目前的理解是这样的:

  • x = !f && (a || c)
  • y = !f && (b || a || c || e)

实际情况如何?

最佳答案

多看文档,现在好像是这样的:

x = c
can_regain_caps_without_execve = (a || b) && !NO_NEW_PRIVS && (!SECBIT_NO_SETUID_FIXUP || ( CAP_SETPCAP && !SECBIT_NO_SETUID_FIXUP_LOCKED))
y = c || e || can_regain_caps_without_execve

  • 零/非零 uid 仅在它发生变化且“root hacks”处于事件状态时才有意义;
  • 仅使用有效的能力进行检查;其他一切都是能力管理;
  • 边界集和继承能力与 execve 有关 => 超出此答案的范围。

关于linux - Linux 功能如何与零/非零 UID 相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14629995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com