표준 사용자가 프린터를 추가 및 제거하도록 허용

표준 사용자가 프린터를 추가 및 제거하도록 허용

루트가 아닌 사용자가 비밀번호를 입력하지 않고 CentOS 7의 데스크탑 GUI를 통해 프린터를 추가할 수 있도록 허용하려고 합니다. 사용자 지정 Polkit 규칙을 설정하고 CUPS 구성을 수정해 보았으나 성공하지 못했습니다.

루트 사용자라도 GUI를 통한 프린터 추가를 완전히 방지합니다. 프린터를 추가하는 유일한 방법은 터미널을 통해 sudo 명령을 사용하는 것입니다.

내가 시도한 것은 다음과 같습니다.

  • lp 그룹의 사용자에 대한 "org.freedesktop.color-manager.create-device" 및 "org.freedesktop.systemd1.manage-units" 작업에 대한 사용자 정의 Polkit 규칙입니다.
  • SystemGroup 정의에 lp를 추가하여 /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

관련 정보