允许标准用户添加和删除打印机

允许标准用户添加和删除打印机

我试图允许非 root 用户通过 CentOS 7 上的桌面 GUI 添加打印机,而不会提示输入密码。我尝试设置自定义 Polkit 规则并修改 CUPS 配置,但没有取得任何成功。

通过 GUI 完全阻止打印机添加,即使对于 root 用户也是如此。添加打印机的唯一方法是通过终端使用 sudo 命令。

这是我尝试过的:

  • 针对 lp 组中用户的“org.freedesktop.color-manager.create-device”和“org.freedesktop.systemd1.manage-units”操作的自定义 Polkit 规则。
  • 通过将 lp 添加到 SystemGroup 定义来修改 /etc/cups/cups-files.conf。

Polkit 规则 (/etc/polkit-1/rules.d/51-custom-printer.rules)


polkit.addRule(function(action, subject) {
  if (action.id == "org.freedesktop.color-manager.create-device" &&
    subject.isInGroup("lp")) {
    return polkit.Result.YES;
  }
});

polkit.addRule(function(action, subject) {
  if (action.id == "org.freedesktop.systemd1.manage-units" &&
    action.lookup("unit") == "cups.service" &&
    subject.isInGroup("lp")) {
    return polkit.Result.YES;
  }
});

CUPS 配置 ( /etc/cups/cups-files.conf)

# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
SystemGroup sys root lp

相关内容