gpt4 book ai didi

linux - 如何在 Linux 内核级别限制特权用户访问?

转载 作者:IT王子 更新时间:2023-10-29 00:40:38 26 4
gpt4 key购买 nike

我在 learning Linux Kernel Programming 上找到了这个答案我的问题更具体地针对 Linux 内核的安全功能。我想知道如何限制特权用户或进程对其他进程和文件的访问权限,而不是 root 的完全访问权限。

到目前为止我发现:

  • usergroup 用于自主访问控制 (DAC),区分用户、组和其他用户的读取、写入和执行
  • 用户 root 用于更高权限的任务
  • setuidsetgid 用于扩展用户的 DAC 并设置调用进程的组/用户 ID,例如用户以 root 权限运行 ping 以打开 Linux 套接字
  • 能力细粒度权限,例如删除 ping 的 suid 位并设置 cap_net_raw
  • 控制组 (Cgroups) 以限制对资源的访问,例如 cpu、网络、io 设备
  • Namespace 用于分隔进程在 IPC、网络、文件系统、pid 上的 View
  • 用于限制系统调用的安全计算 (Seccomp)
  • Linux 安全模块 (LSM) 添加额外的安全功能,例如强制访问控制,例如带有类型强制的 SELinux

列表是否完整?在写问题时,我发现 fanotify 可以监视文件系统事件,例如用于防病毒扫描。可能有更多可用的安全功能。

是否有更多的 Linux 安全功能可以以可编程的方式从文件或进程的内部或外部使用以限制特权访问?也许有一个完整的列表。

最佳答案

传统的 unix 方法是限制一个进程,该进程以某种方式需要更多特权,但又包含它,以便它不能使用超过它需要的东西,是“chroot”它。

chroot 改变进程的表面根。如果操作正确,它只能访问新创建的 chroot 环境(又名 chroot jail)中的那些资源例如它只能访问那些文件,也只能访问那些设备等。

创建一个自愿执行此操作的流程相对容易,而且并不少见。

要创建一个环境,让现有的软件(例如网络服务器、邮件服务器等)在其中感觉自在并且仍然正常运行是需要经验的。最主要的是找到所需的最少资源集(共享库、配置文件、设备、相关服务(例如系统日志)……)。

关于linux - 如何在 Linux 内核级别限制特权用户访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30886916/

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