当前位置: 首页 > 知识库问答 >
问题:

如何修复杯子。IPPError:(4096,“未授权”)?将杯子与pycups一起使用

司空胤
2023-03-14

我正在设置一个python应用程序来监视cups服务器。我正在使用cups包装器。python应用程序与cups位于同一服务器中。创建打印作业并获取打印机信息和作业状态的调用工作正常,但当我尝试拒绝/禁用打印机或取消作业时,我会收到以下eror:cups。IPPError:(4096,“未授权”)

我在cupsd中尝试了多个配置。conf文件(当然还有重新启动cups服务),但似乎没有一个可以工作(甚至尝试删除所有策略块)。

这是我的cupsd.conf(删除了

LogLevel debug
ErrorPolicy retry-job
PageLogFormat
MaxLogSize 0
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
Browsing On
BrowseLocalProtocols none
DefaultAuthType Basic
WebInterface Yes
DefaultEncryption Never
<Location />
  Require user @SYSTEM
  Satisfy any
  # Allow remote administration...
  Order allow,deny
  Allow 127.0.0.1
  Allow localhost
</Location>
<Location /admin>
  AuthType Default
  Require user @SYSTEM
  # Allow remote administration...
  Order allow,deny
  Allow all
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow all
</Location>
<Location /admin/log>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow all
  # Allow remote access to the log files...
  Order allow,deny
  Allow all
</Location>
<Policy default>
  JobPrivateAccess default
  JobPrivateValues default
  SubscriptionPrivateAccess default
  SubscriptionPrivateValues default
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    AuthType None
    Satisfy any
    Order allow,deny
    Allow 127.0.0.1
  </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>
    Order allow,deny
    Require user @SYSTEM
    Satisfy any
    AuthType None
    Allow localhost
    Allow 127.0.0.1
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType None
    Order allow,deny
    Require user @SYSTEM
    Satisfy any
    Allow 127.0.0.1
  </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>
    Order allow,deny
    Satisfy any
    Allow 127.0.0.1
    Allow localhost
  </Limit>
  <Limit CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order allow,deny
    Satisfy any
    AuthType None
    Allow 127.0.0.1
  </Limit>
  <Limit All>
    Order allow,deny
  </Limit>
</Policy>

每次我试图禁用打印机或取消作业时,杯子error_log都会显示这一点:

D [29/Oct/2019:18:52:47 +0000] [Client 21] Accepted from localhost:55986 (IPv6)
D [29/Oct/2019:18:52:47 +0000] [Client 21] Waiting for request.
D [29/Oct/2019:18:52:47 +0000] [Client 21] POST /admin/ HTTP/1.1
D [29/Oct/2019:18:52:47 +0000] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
D [29/Oct/2019:18:52:47 +0000] [Client 21] Read: status=200
D [29/Oct/2019:18:52:47 +0000] [Client 21] No authentication data provided.
D [29/Oct/2019:18:52:47 +0000] cupsdIsAuthorized: username=""
D [29/Oct/2019:18:52:47 +0000] [Client 21] cupsdSendHeader: code=401, type="text/html", auth_type=0
D [29/Oct/2019:18:52:47 +0000] [Client 21] WWW-Authenticate: , trc=\"y\"
D [29/Oct/2019:18:52:47 +0000] [Client 21] Closing connection.
D [29/Oct/2019:18:52:47 +0000] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"

每次我尝试禁用打印机或取消作业时,cups access\u日志都会记录此信息:localhost--[29/Oct/2019:17:15:16 0000]“POST/admin/HTTP/1.1”4010--


共有1个答案

通沛
2023-03-14

解决了它,我必须配置位置 /admin也。

<Location /admin>
  AuthType Default
  Require user @SYSTEM
  Satisfy any
  Order allow,deny
  Allow localhost
</Location>
 类似资料:
  • 我目前正在使用Cups Version 1.2.4用于打印应用程序。一个强制性功能是读取纸张颜色(白皮书、蓝纸、...)。这是通过使用名为jipsi的旧打印库读取mediaSupport标签来完成的。 打印应用程序现在将使用新的CUPS版本2.0.2和打印库Cups4j进行更新。如果我尝试使用mediaSupport标签读取纸张颜色,结果集会输出像“iso_b4_250x352mm”这样的纸张大小

  • 我需要以编程方式将打印机添加到安装了System V过滤器的杯子中。现在我正在使用以下代码创建添加打印机的请求: 为了对话: 这似乎正确地将打印机添加到杯子系统,因为我可以使用以下命令将打印发送到它: 我的第一个想法是将我想用作过滤器的文件复制到目录中,并将其命名为myptr。我这样做了,给了它正确的用户、组和权限,但它似乎不起作用。我甚至试着在脚本的前面粘贴一个sleep 60,但它从未出现在p

  • 本文向大家介绍如果做一个杯子的检测,你如何测试相关面试题,主要包含被问及如果做一个杯子的检测,你如何测试时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 功能 (1)水倒水杯容量的一半 (2)水倒规定的安全线 (4)水杯容量刻度与其他水杯一致 (5)盖子拧紧水倒不出来 (6)烫手验证 性能 (1)使用最大次数或时间 (2)掉地上不易损坏 (3)盖子拧到什么程度水倒不出来 (4)保温时间长 (

  • 这就是Grails 2.4.4。我遇到了一个连接池泄漏,似乎与Grails事务管理有关。有人知道问题在哪里吗? 来自Tomcat JDBC池的可疑泄漏检测消息: 在resources.groovy中: 在DataSource.groovy中: TestController.groovy: TestService.groovy: 泄漏检测消息不显示查询是否从事务性服务移动到控制器,我假设这是因为控制

  • 我使用Spring安全核心插件。我想在用户登录后立即将对象放入会话中。到目前为止,我发现插件中有。它有一个称为的方法,它似乎在成功进行身份验证后被调用。所以我决定创建另一个LoginController,它扩展了默认控制器并覆盖了此方法: 但是调试表明这个方法从来没有被调用过。出了什么问题?可能有另一种方法来做我想做的事吗?谢谢大家!

  • 可确认在游戏等中已获得的奖杯信息,或与朋友比较的应用程序。 奖杯的LiveArea™ 关于奖杯 确认已获得的奖杯 比较奖杯