Recebo 2 trabalhos de impressão que gostaria de cancelar:
Tux # lpq
photosmart_7200 is not ready
Rank Owner Job File(s) Total Size
1st unknown 190 unknown 8192 bytes
2nd unknown 191 unknown 8192 bytes
Criado por algum usuário localhost não root (no entanto, membro dos grupos lp e lpadmin) canalizando qualquer texto ascii para lp
.)
No entanto :
Tux # lprm -
lprm: Forbidden
Tux # cancel -a
cancel: cancel-job failed: Forbidden
Não é necessário dizer que recebo resultados idênticos pela interface do navegador do cups, /var/log/cups_error.log diz:
E [21/Sep/2022:08:41:10 +0200] [Client 9] Returning HTTP Interdit for Cancel-Job (ipp://localhost/jobs/190) from localhost
E [21/Sep/2022:08:47:00 +0200] [Client 14] Returning HTTP Interdit for Cancel-Job (ipp://localhost/jobs/191) from localhost
Esses trabalhos ficam com seus arquivos d e arquivos de controle associados em /var/spool/cups :
Tux /var/spool/cups # ls -ails
…
878712 4 -rw------- 1 root lp 1032 6 juin 15:18 c00190
878713 4 -rw------- 1 root lp 940 6 juin 15:18 c00191
878714 4 -rw------- 1 root lp 832 6 juin 15:18 c00192
891424 4 -rw------- 1 root lp 954 17 sept. 22:42 c00193
891442 4 -rw------- 1 root lp 954 17 sept. 22:42 c00194
891435 4 -rw------- 1 root lp 954 17 sept. 22:42 c00195
878708 8 -rw-r----- 1 root lp 7288 6 juin 15:17 d00190-001
878711 8 -rw-r----- 1 root lp 7288 6 juin 15:18 d00191-001
885657 4 drwxrwx--T 2 root lp 4096 29 août 08:32 tmp
Executando cups-2.4.2 (trabalhos provavelmente criados executando cups-2.3.3) no linux-5.4
Então, por que esses comandos não podem realmente cancelar os trabalhos, como posso educadamente (evitando rm-los no diretório de spool) cancelar esses trabalhos.
Além disso, pode ser explicado como o proprietário desses trabalhos é relatado como " desconhecido " lpq
porque as strings dos arquivos de controle mostram o nome de usuário válido?
Tudo bem, o comentário do @meuh apontando para um problema mais amplo, investiguei um pouco mais nos arquivos de configuração do cups e em particular
/etc/cups/cupsd.conf
no qual é definida uma política referente ao cancelamento de jobs:Em seguida, procure a definição de @SYSTEM que pode ser encontrada em /etc/cups/cups-files.conf :
O SystemGroup aparece por padrão reduzido ao grupo lpadmin!
Desde que eu estava executando comandos de cancelamento como root e root group não está listado na lista SystemGroup e o usuário root não é membro do grupo lpadmin… As respostas proibidas que eu estava enfrentando eram nada além de: lógicas.
Resolvido o problema adicionando o usuário root ao grupo lpadmin.
O lpq agora também é detalhado em relação aos nomes de usuário do proprietário.