设备策略会限制或防止对作为系统整体部分的设备进行访问。策略在内核中实施。
显示系统上所有设备的设备策略。
% 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 方法。