16.8. MAC 框架的故障排除
本节讨论常见的配置错误以及如何解决这些错误。
multilabel
标志不会在根 (/) 分区上保持启用状态以下步骤可以解决此暂时性错误:
1、编辑 /etc/fstab 并将根分区设置
ro
为只读。2、重新启动到单用户模式。
3、在 / 运行
tunefs -l enable
。4、重新启动系统。
5、运行
mount -urw
/ 命令,将 /etc/fstab 中的ro
修改为rw
,然后重新启动系统。6、仔细检查
mount
的输出,以确保multilabel
已在根文件系统上正确设置。
使用 MAC 建立安全环境后,不能启动 Xorg
这可能是由 MAC 策略或其中一个 MAC
partition
标记策略中的错误标记引起的。要进行调试,请尝试以下操作:- 1、检查错误消息。如果用户在
insecure
类中,则partition
策略可能是罪魁祸首。尝试将用户default
类设置回该类,并使用cap_mkdb
重建数据库。如果这不能解决问题,请转到步骤 2。 - 2、仔细检查是否为用户、Xorg 和 /dev 条目正确设置标签策略。
- 3、如果这些都不能解决问题,请将错误消息和环境描述发送到 FreeBSD 通用问题邮件列表。
- 1、检查错误消息。如果用户在
出现错误
_secure_path: unable to stat .login_conf
当用户尝试在系统中从该用户切换到
root
用户时,可能会出现此错误。当用户的标签设置高于他们尝试成为的用户的标签设置时,通常会发生此消息。例如,假如joe
的默认标签为biba/low
且root
标签为biba/high
,则root
无法查看joe
的主目录。无论roo
是否使用su
成为joe
,这都会发生,因为 Biba 的完整性模型不允许root
查看设置在较低完整性级别的对象。系统不识别
root
发生这种情况时,
whoami
返回0
,su
返回who are you?
。如果标签策略已被 sysctl(8) 禁用或策略模块已卸载,则可能会发生这种情况。如果禁用该策略,则需要重新配置登录功能数据库。仔细检查 /etc/login.conf 确保已删除所有的
label
选项,并使用cap_mkdb
重建数据库。如果策略限制对 master.passwd 的访问,也可能发生这种情况。这通常是由于管理员更改与系统使用的常规策略冲突的标签下的文件。在这些情况下,系统将读取用户信息,并且由于文件继承新标签,因此将阻止访问。使用 sysctl(8) 禁用策略,一切都应该恢复正常。