我有一个大问题: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更多细节。