我想在网络打印机上清理所有打印作业
cupsenable [printername]
cancel -a [printername]
cancel: purge-jobs failed: Forbidden
用户是" lp"的成员组
我还在@etc/cups/cupsd.conf文件的限制中添加了@OWNER,其中清除作业和取消作业是
之后我关闭了我的会话并再次尝试,再次出现同样的错误。
之后我明确添加了我想取消作业的用户
关闭我打开的会话并再次尝试 - >没有
也许我错过了什么?
这是我的cupsd.conf:
Listen /var/run/cups/cups.sock
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
# Allow remote access...
Order allow,deny
Allow all
</Location>
<Location /admin>
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
</Location>
<Policy default>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel- Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get- Document>
Require user @OWNER @SYSTEM sonex
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM sonex
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM sonex
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Policy authenticated>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get- Document>
AuthType Default
Require user @OWNER @SYSTEM sonex
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate- Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM sonex
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM sonex
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
也许我错过了一些预约?
我无法让用户成为超级用户,因为客户正在使用此帐户,他不应该是服务器上的超级用户。
答案 0 :(得分:1)
我通过谷歌搜索到达了这里
取消:取消工作失败:禁止
我的解决方法是授予lp
组运行cups命令的权限,然后将用户添加到lp
组中。
首先,将lp
添加到/etc/cups-files.conf
中的系统组中...
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
SystemGroup sys root lp
重新启动杯子...
systemctl restart cups
将用户添加到lp
组。
usermod -a -G lp user1
user1现在可以运行
cancel PRINTER-12345
并使用杯子网站上的[取消作业]按钮(将提示您登录)。
要求用户{user-name | @ group-name} ...
指定经过身份验证的用户必须与指定用户之一匹配 或成为其中一个命名组的成员。组名“ @SYSTEM” 对应于SystemGroup指令定义的组列表 在cups-files.conf(5)文件中。
tldr;
/etc/cupsd.conf
授予@SYSTEM权限。
/etc/cups-files.conf
SystemGroup定义了@SYSTEM。
答案 1 :(得分:0)
通过将具有cancel命令的用户添加到sudoers文件
来解决sonex ALL=(ALL) NOPASSWD: /etc/bin/cancel -a *
似乎在某种程度上没有办法通过配置文件解决它只清除单个打印作业