限制用户对 /proc 和 /sys 的访问

限制用户对 /proc 和 /sys 的访问

我有一个大问题:setfacl 似乎不适用于 /proc 和 /sys,但我想限制特定用户权限,我认为不允许该用户读取 /proc/cpuinfo 等内容。(用户不应该能够收集有关系统的硬件信息)

在 Ubuntu 中我该怎么做?Apparmor 更适合限制应用程序,而不是用户。看来 Selinux 是唯一的选择,对吧?

我在脚本中已经这样解决了:

# restrict read access to /sys and /proc
sudo chmod -r /sys
sudo chmod -r /proc/acpi
sudo chmod -r /proc/asound
sudo chmod -r /proc/bus
sudo chmod -r /proc/cgroups
sudo chmod -r /proc/consoles
sudo chmod -r /proc/cpuinfo
sudo chmod -r /proc/crypto
sudo chmod -r /proc/devices
sudo chmod -r /proc/diskstats
sudo chmod -r /proc/dma
sudo chmod -r /proc/dri
sudo chmod -r /proc/driver
sudo chmod -r /proc/execdomains
sudo chmod -r /proc/fb
sudo chmod -r /proc/filesystem
# ...

现在我想知道,如果我只是删除对这些文件的读取权限(我仅删除对具有名称的文件的读取权限,而不是对数字目录的读取权限),除了一些不能使用用户权限的系统监控工具(如top,lscpu)之外,这是否会产生严重问题?

除了给其他用户带来的问题之外,这个解决方案非常不优雅。

我也不想编译和维护一个grsecurity内核,那太麻烦了。

答案1

要限制对 的访问/proc,您可以hidepid在挂载 时使用该选项/proc。添加到您的 fstab(如果已有条目,则编辑):

proc /proc proc defaults,hidepid=2 0 0

您可以使用此gid选项为特定组启用访问权限。请参阅http://www.debian-administration.org/article/702/Hiding_processes_from_other_users更多细节。

相关内容