CUPS basic auth error through web interface

10,477

Solution 1

It's usually asking for the CUPS server's root user/pass.

Please show us your cupsd.conf configuration file.

Solution 2

I think I figured out a solution to our problem. In the section:

# All administration operations require an administrator to authenticate...
  <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

change the "AuthType Default" to "AuthType None", you might also want to apply this change to all the other sections that involve configuring printers and managing jobs.

Hope this helps :)

Share:
10,477

Related videos on Youtube

Inaimathi
Author by

Inaimathi

Common Lisp/Haskell/JavaScript/Scheme/Elisp/Ruby hacker with a degree in Graphic Design, an eye for layout and a hungry, hungry mind.

Updated on September 18, 2022

Comments

  • Inaimathi
    Inaimathi almost 2 years

    I'm trying to configure CUPS to allow remote administration through the web interface. There's enough documentation out there that I can figure out what to change in my cupsd.conf (changing Listen localhost:631 to Port 631, and adding Allow @LOCAL to the /, /admin and /admin/conf sections).

    I'm now at the point where I can see the CUPS interface from another machine on the same network. The trouble is, when I try to Add Printer, I'm asked for a username and password, but my response is rejected even when I know I've gotten it right (I assume it's asking for the username and password of someone in the lpadmin group on the server machine; I've sshed in with credentials its rejecting, and the user I'm using has been added to the lpadmin group).

    If I disable auth outright, by changing DefaultAuthType Basic to DefaultAuthType None, I get an "Unauthorized" error instead of a password request when I try to Add Printer.

    What am I doing wrong? Is there a way of letting users from the local network to administer the print server through the CUPS web interface?

    EDIT the Second:

    I've now tested the same config changes on two different machines (first a Debian Squeeze box, and then another Wheezy box just to make sure) and the above config file works just fine on them. Are there any other permission/port settings that might affect CUPS remote administration other than what's contained in cupsd.conf? Is this getting specific enough that I should go ask unix.se instead?

    EDIT:

    By request, my complete cupsd.conf (spoiler: minimally edited default config file that comes with the edition of CUPS from the Debian wheezy repos):

    LogLevel warn
    MaxLogSize 0
    
    SystemGroup lpadmin
    
    Port 631
    # Listen localhost:631
    Listen /var/run/cups/cups.sock
    
    Browsing On
    BrowseOrder allow,deny
    BrowseAllow all
    BrowseLocalProtocols CUPS dnssd
    
    # DefaultAuthType Basic
    DefaultAuthType None
    
    WebInterface Yes
    
    <Location />
      Order allow,deny
      Allow @LOCAL
    </Location>
    
    <Location /admin>
      Order allow,deny
      Allow @LOCAL
    </Location>
    
    <Location /admin/conf>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
      Allow @LOCAL
    </Location>
    
    # Set the default printer/job policies...
    <Policy default>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <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
        Order deny,allow
      </Limit>
    
      # All administration operations require an administrator to authenticate...
      <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>
    
      # All printer operations require a printer operator to authenticate...
      <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
        Order deny,allow
      </Limit>
    
      # Only the owner or an administrator can cancel or authenticate a job...
      <Limit Cancel-Job CUPS-Authenticate-Job>
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    
    # Set the authenticated printer/job policies...
    <Policy authenticated>
      # Job/subscription privacy...
      JobPrivateAccess default
      JobPrivateValues default
      SubscriptionPrivateAccess default
      SubscriptionPrivateValues default
    
      # Job-related operations must be done by the owner or an administrator...
      <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
        Order deny,allow
      </Limit>
    
      # All administration operations require an administrator to authenticate...
      <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>
    
      # All printer operations require a printer operator to authenticate...
      <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
        Order deny,allow
      </Limit>
    
      # Only the owner or an administrator can cancel or authenticate a job...
      <Limit Cancel-Job CUPS-Authenticate-Job>
        AuthType Default
        Require user @OWNER @SYSTEM
        Order deny,allow
      </Limit>
    
      <Limit All>
        Order deny,allow
      </Limit>
    </Policy>
    
  • Inaimathi
    Inaimathi over 11 years
    Done. And I need to say something to get past the minimum character limit.
  • Gill-Bates
    Gill-Bates over 3 years
    Why not just adding "DefaultAuthType None" ?