18.6.用户锁定¶
此示例为用户数少于 50 的相对较小的存储系统所设计。用户将具有登录功能,并被允许存储数据和访问资源。
对于此方案,mac_bsdextended(4) 和 mac_seeotheruids(4) 策略模块可以共存并阻止对系统客体的访问,同时隐藏用户进程。
首先将以下行添加到 /boot/loader.conf:
mac_seeotheruids_load="YES"
mac_bsdextended(4) 安全策略模块可以通过将此行添加到 /etc/rc.conf 来激活:
ugidfw_enable="YES"
存储在 /etc/rc.bsdextended 中的默认规则将在系统初始化时加载。但是,有时可能需要修改默认条目。由于此计算机应仅用于为用户提供服务,因此除了最后两行之外,所有内容都可能被注释掉,以便默认情况下强制加载用户拥有的系统客体。
将所需用户添加到此计算机并重新启动。出于测试目的,请尝试在两个控制台上以其他用户身份登录。运行 ps aux
以查看其他用户的进程是否可见。并验证在其他用户的主目录上运行 ls(1) 是否失败。
不要尝试与 root
用户一起测试,除非已修改特定的 sysctl
以阻止超级用户访问。
注意
当添加一个新用户后,他们的 mac_bsdextended(4) 规则将不在规则集列表中。要快速更新规则集,请卸载安全策略模块,然后使用 kldunload(8) 和 kldload(8) 再次重新加载模块。