16.6. 用户锁定

此示例考虑用户少于 50 个的相对较小的存储系统。用户将具有登录功能,并被允许存储数据和访问资源。

对于此方案,mac_bsdextended(4)mac_seeotheruids(4) 策略模块可以共存并阻止对系统对象的访问,同时隐藏用户进程。

首先将以下行添加到 /boot/loader.conf

  1. mac_seeotheruids_load="YES"

mac_bsdextended(4) 安全策略模块可以通过将此行添加到 /etc/rc.conf 来激活:

  1. ugidfw_enable="YES"

存储在 /etc/rc.bsdextended 中的默认规则将在系统初始化时加载。但是,有时可能需要修改默认条目。由于此计算机应仅用于为用户提供服务,因此除了最后两行之外,所有内容都可能被注释掉,以便默认情况下强制加载用户拥有的系统对象。

将所需用户添加到此计算机并重新启动。出于测试目的,请尝试在两个控制台上以其他用户身份登录。运行 ps aux 以查看其他用户的进程是否可见。验证在其他用户的主目录上运行 ls(1) 是否失败。

不要尝试与 root 用户一起测试,除非已修改特定 sysctl 以阻止超级用户访问。

注意
当添加一个新用户时,他们的 mac_bsdextended(4) 规则将不在规则集列表中。要快速更新规则集,请卸载安全策略模块,然后使用 kldunload(8)kldload(8) 再次重新加载它。