我有 2 个要取消的打印作业:
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
由一些非 root localhost 用户(但是 lp 和 lpadmin 组的成员)创建,将任何 ascii 文本通过管道传输到lp
.)
然而 :
Tux # lprm -
lprm: Forbidden
Tux # cancel -a
cancel: cancel-job failed: Forbidden
不用说我通过 cups 的浏览器界面得到了相同的结果,/var/log/cups_error.log 说:
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
这些作业与它们的 d 文件和相关的控制文件一起位于 /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
在 linux-5.4 下运行 cups-2.4.2(最有可能创建运行 cups-2.3.3 的作业)
那么为什么这些命令实际上不能取消作业,我怎样才能礼貌地(避免在 spool 目录中对它们进行 rm-ing)取消这些作业。此外,由于控制文件显示有效的用户名
,是否可以解释这些作业的所有者如何被报告为“未知” ?lpq
好吧,@meuh 的评论指出了一个更广泛的问题,我在 cups 配置文件中进行了更多调查,特别
/etc/cups/cupsd.conf
是其中定义了关于取消工作的政策:然后在 /etc/cups/cups-files.conf 中查找 @SYSTEM 的定义:
SystemGroup 默认显示为 lpadmin 组!
由于我一直在以 root 身份运行取消命令,并且 root 组未列在 SystemGroup 列表中,并且 root 用户不是 lpadmin 组的成员……我面临的禁止答案不过是:合乎逻辑的。
通过将 root 用户添加到 lpadmin 组解决了该问题。
lpq 现在对所有者的用户名也很详细。