第 5 章 使用 polkit 控制对智能卡的访问
要涵盖智能卡中内置的机制(如 PIN 、PIN 平板和生物识别技术)无法防止的可能的威胁,以及更精细的控制,RHEL 使用 polkit
框架来控制对智能卡的访问控制。
系统管理员配置 polkit
以适合特定的场景,如非特权或非本地用户或服务的智能卡访问。
5.1. 通过 polkit 的智能卡访问控制
个人计算机/智能卡(PC/SC)协议指定将智能卡及其读卡器整合成计算系统的标准。在 RHEL 中,pcc-lite
软件包提供了中间件来访问使用 PC/SC API 的智能卡。此软件包的一部分 pcscd
(PC/SC 智能卡)守护进程,确保系统可以使用 PC/SC 协议访问智能卡。
因为在智能卡内置的访问控制机制(如 PIN、PIN 平板 和生物识别技术)没有涵盖所有可能的威胁,所以 RHEL 使用 polkit
框架进行更强大的访问控制。polkit
授权管理器可以对特权操作授予访问权限。除了授予对磁盘的访问权限外,您还可以使用 polkit
来指定保护智能卡的策略。例如,您可以定义哪些用户可以使用智能卡执行哪些操作。
安装 pcsc-lite
软件包并启动 pcscd
守护进程后,系统会强制使用 /usr/share/polkit-1/actions/
目录中定义的策略。默认的系统范围的策略位于 /usr/share/polkit-1/actions/org.debian.pcsc-lite.policy
文件中。polkit 策略文件使用 XML 格式,其语法在系统的 polkit (8)
man page 中进行了描述。
polkitd
服务监控 /etc/polkit-1/rules.d/
和 /usr/share/polkit-1/rules.d/
这些目录中存储的规则文件的任何更改。该文件包含 JavaScript 格式的授权规则。系统管理员可以在这两个目录中添加自定义规则文件,并且 polkitd
根据其文件名按照字母顺序读取它们。如果两个文件具有相同的名称,则首先读取 /etc/polkit-1/rules.d/
中的文件。
如果您需要在系统安全服务守护进程(SSSD)没有以 root
用户身份运行时启用智能卡支持,您必须安装 sssd-polkit-rules
软件包。软件包提供了 polkit
与 SSSD 的集成。
其他资源
-
您系统上的
polkit (8)
,polkitd (8)
和pcscd (8)
手册页