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