2

I've got a printer hooked up to my workstation (running PCLINUXOS2012) by USB. All was well until the last time I tried to apply updates to the packages - it went rather pear shaped - lots of upgrade packages were no longer available from the repositories (this may be coincidental to the printing problem). Since then, only root can see the printer via CUPS unless I make it available to others:

[colin@localhost ~]$ lpq
lpq: error - no default destination available.
[colin@localhost ~]$ su
Password:
[root@localhost colin]# lpq
HP-Deskjet-F4200-series is ready
no entries
[root@localhost colin]# lpadmin -p HP-Deskjet-F4200-series -u allow:all
[root@localhost colin]# su colin -c lpq
HP-Deskjet-F4200-series is ready
no entries
[root@localhost colin]#

(but this does not change the cupsd.conf - hence needs to be re-applied each time the system is rebooted).

How do I make the change permanent?

(Coincidentally, the tool used to configure printers accessed from drakconf (PCLinuxos Control centre) now bombs out with the message "The program terminated abnormally).

cupsd.conf below, apologies for repodrucing it in it's entirety, but the running version clearly does not match the documentation supplied (which, for example, reports that 'Browsing' can be 'Yes' or 'No', but nothing get's logged for a value of 'on').

I would have expected the lines below the comments to make the printer available to all - but this does not appear to be the case.

LogLevel warn
SystemGroup lpadmin root
Group sys
User lp
Port 631
Listen /var/run/cups/cups.sock
Browsing On
BrowseAddress @LOCAL
BrowseOrder allow,deny
# this line to make printers 'browseable'....
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
DefaultAuthType Basic

<Location />
  Order allow,deny
  # this to allow access to the web frontend....
  Allow all
</Location>

<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
</Location>

<Policy default>
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    # and this one to allow submission of print jobs...
    Allow all
    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 CUPS-Move-Job CUPS-Get-Document>
     Require user @OWNER @SYSTEM
     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 CUPS-Accept-Jobs CUPS-Reject-Jobs>
       AuthType Default
       Require user @SYSTEM
       Order deny,allow
   </Limit>
   <Limit Cancel-Job CUPS-Authenticate-Job>
       Require user @OWNER @SYSTEM
       Order deny,allow
   </Limit>
   <Limit All>
       Order deny,allow
   </Limit>
</Policy>

<Policy authenticated>
   <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 CUPS-Move-Job CUPS-Get-Document>
    AuthType Default
    Require user @OWNER @SYSTEM
    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 CUPS-Accept-Jobs CUPS-Reject-Jobs>
     AuthType Default
     Require user @SYSTEM
     Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
     AuthType Default
     Require user @OWNER @SYSTEM
     Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>
  • Does that lpadmin command change anything under /etc? Post printers.conf and classes.conf — I don't think they contain authorization information, but I could be wrong. You have no Allow rule under <Policy authenticated> for <Create-Job>, but then neither have I and I can print. – Gilles Jan 13 '14 at 23:45
  • No, none of the config is changed (and nothing noted in cups logs) when I run lpadmin. The classes file is empty and printers.conf has nothing relating to browsing/access control. – symcbean Jan 14 '14 at 0:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.