设备策略会限制或防止对作为系统整体部分的设备进行访问。策略在内核中实施。
显示系统上所有设备的设备策略。
% getdevpolicy | more DEFAULT read_priv_set=none write_priv_set=none ip:* read_priv_set=net_rawaccess write_priv_set=net_rawaccess … |
此示例显示了三个设备的设备策略。
% getdevpolicy /dev/allkmem /dev/ipsecesp /dev/hme /dev/allkmem read_priv_set=all write_priv_set=all /dev/ipsecesp read_priv_set=sys_net_config write_priv_set=sys_net_config /dev/hme read_priv_set=net_rawaccess write_priv_set=net_rawaccess |
承担拥有设备安全权限配置文件的角色或成为超级用户。
主管理员角色拥有设备安全权限配置文件。还可以将设备安全权限配置文件指定给所创建的角色。有关如何创建角色并将其指定给用户的信息,请参见示例 9–3。
向设备中添加策略。
# update_drv -a -p policy device-driver |
指定 device-driver 的 policy。
device-driver 的设备策略。设备策略指定两组权限。一组用于读取设备,另一组用于写入设备。
设备驱动程序。
有关更多信息,请参见 update_drv(1M) 手册页。
以下示例向 ipnat 设备中添加设备策略。
# getdevpolicy /dev/ipnat /dev/ipnat read_priv_set=none write_priv_set=none # update_drv -a \ -p 'read_priv_set=net_rawaccess write_priv_set=net_rawaccess' ipnat # getdevpolicy /dev/ipnat /dev/ipnat read_priv_set=net_rawaccess write_priv_set=net_rawaccess |
以下示例从 ipnat 设备的设备策略中删除读取的一组权限。
# getdevpolicy /dev/ipnat /dev/ipnat read_priv_set=net_rawaccess write_priv_set=net_rawaccess # update_drv -a -p write_priv_set=net_rawaccess ipnat # getdevpolicy /dev/ipnat /dev/ipnat read_priv_set=none write_priv_set=net_rawaccess |
缺省情况下,as 审计类包括 AUE_MODDEVPLCY 审计事件。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
预选包括 AUE_MODDEVPLCY 审计事件的审计类。
将 as 类添加到 audit_control 文件的 flags 行中。此文件的显示将与以下内容类似:
# audit_control file dir:/var/audit flags:lo,as minfree:20 naflags:lo |
有关详细说明,请参见如何修改 audit_control 文件。
检索 Solaris IP MIB-II 信息的应用程序应该打开 /dev/arp,而不是 /dev/ip。
确定 /dev/ip 和 /dev/arp 上的设备策略。
% getdevpolicy /dev/ip /dev/arp /dev/ip read_priv_set=net_rawaccess write_priv_set=net_rawaccess /dev/arp read_priv_set=none write_priv_set=none |
请注意,读写 /dev/ip 需要具有 net_rawaccess 权限,而 /dev/arp 不需要权限。
打开 /dev/arp 并推送 tcp 和 udp 模块。
此方法不需要权限,与打开 /dev/ip 并推送 arp、tcp 和 udp 模块等效。由于现在打开 /dev/ip 需要权限,因此首选使用 /dev/arp 方法。