cups: Changed cups::server to use template file as config.
This commit is contained in:
parent
e56702c0d0
commit
6980e8275b
3 changed files with 177 additions and 94 deletions
|
@ -1,88 +0,0 @@
|
|||
#
|
||||
# "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $"
|
||||
#
|
||||
# Sample configuration file for the Common UNIX Printing System (CUPS)
|
||||
# scheduler. See "man cupsd.conf" for a complete description of this
|
||||
# file.
|
||||
#
|
||||
MaxLogSize 2000000000
|
||||
|
||||
# Log general information in error_log - change "info" to "debug" for
|
||||
# troubleshooting...
|
||||
LogLevel info
|
||||
|
||||
# Administrator user group...
|
||||
SystemGroup sys root sysadm
|
||||
|
||||
# Disable preserving jobs
|
||||
PreserveJobFiles Off
|
||||
PreserveJobHistory Off
|
||||
|
||||
# Only listen for connections from the local machine.
|
||||
Listen *:631
|
||||
Listen /var/run/cups/cups.sock
|
||||
|
||||
# Show shared printers on the local network.
|
||||
Browsing On
|
||||
BrowseOrder allow,deny
|
||||
# (Change '@LOCAL' to 'ALL' if using directed broadcasts from another subnet.)
|
||||
BrowseAllow @LOCAL
|
||||
|
||||
# Default authentication type, when authentication is required...
|
||||
DefaultAuthType Basic
|
||||
|
||||
# Restrict access to the server...
|
||||
<Location />
|
||||
Order allow,deny
|
||||
Allow @LOCAL
|
||||
</Location>
|
||||
|
||||
# Restrict access to the admin pages...
|
||||
<Location /admin>
|
||||
Encryption Required
|
||||
Order allow,deny
|
||||
</Location>
|
||||
|
||||
# Restrict access to configuration files...
|
||||
<Location /admin/conf>
|
||||
AuthType Default
|
||||
Require user @SYSTEM
|
||||
Order allow,deny
|
||||
</Location>
|
||||
|
||||
# Set the default printer/job policies...
|
||||
<Policy default>
|
||||
# Job-related operations must be done by the owner or an administrator...
|
||||
<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>
|
||||
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 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>
|
||||
|
||||
#
|
||||
# End of "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $".
|
||||
#
|
|
@ -55,20 +55,56 @@ class cups::client {
|
|||
|
||||
# Install cups server
|
||||
#
|
||||
class cups::server inherits cups::client {
|
||||
# === Parameters:
|
||||
#
|
||||
# $admin_group:
|
||||
# Group name which is allowed to modify printers.
|
||||
#
|
||||
# $manager_group:
|
||||
# Group name which is allowed to remove jobs from print
|
||||
# queues.
|
||||
#
|
||||
# $ssl_cert:
|
||||
# Path to SSL certificate. Defaults to auto generated
|
||||
# certificate.
|
||||
#
|
||||
# $ssl_key:
|
||||
# Path to SSL key. Defaults to auto generated key.
|
||||
#
|
||||
class cups::server($admin_group=undef, $manager_group=undef,
|
||||
$ssl_cert=undef, $ssl_key=undef) inherits cups::client {
|
||||
|
||||
require ssl
|
||||
|
||||
package { [ "ghostscript", "system-config-printer" ]:
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
if $ssl_key and $ssl_cert {
|
||||
file { "${ssl::private}/cups.key":
|
||||
ensure => present,
|
||||
source => $ssl_key,
|
||||
mode => "0600",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
notify => Service["cups"],
|
||||
}
|
||||
file { "${ssl::certs}/cups.crt":
|
||||
ensure => present,
|
||||
source => $ssl_cert,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
notify => Service["cups"],
|
||||
}
|
||||
}
|
||||
|
||||
file { "/etc/cups/cupsd.conf":
|
||||
ensure => present,
|
||||
source => [ "puppet:///files/cups/cupsd.conf.${::homename}",
|
||||
"puppet:///files/cups/cupsd.conf",
|
||||
"puppet:///modules/cups/cupsd.conf", ],
|
||||
content => template("cups/cupsd.conf.erb"),
|
||||
mode => "0640",
|
||||
owner => root,
|
||||
group => lp,
|
||||
owner => "root",
|
||||
group => "lp",
|
||||
require => Package["cups"],
|
||||
notify => Service["cups"],
|
||||
}
|
||||
|
|
135
cups/templates/cupsd.conf.erb
Normal file
135
cups/templates/cupsd.conf.erb
Normal file
|
@ -0,0 +1,135 @@
|
|||
MaxLogSize 0
|
||||
#
|
||||
# "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $"
|
||||
#
|
||||
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
|
||||
# complete description of this file.
|
||||
#
|
||||
|
||||
<% if @ssl_cert and @ssl_key -%>
|
||||
# SSL support
|
||||
ServerCertificate <%= scope.lookupvar('ssl::certs') %>/cups.crt
|
||||
ServerKey <%= scope.lookupvar('ssl::private') %>/cups.key
|
||||
|
||||
<% end -%>
|
||||
# Do not preserve history
|
||||
PreserveJobFiles Off
|
||||
PreserveJobHistory Off
|
||||
|
||||
# Log general information in error_log - change "warn" to "debug"
|
||||
# for troubleshooting...
|
||||
LogLevel info
|
||||
AccessLog syslog
|
||||
ErrorLog syslog
|
||||
|
||||
# Administrator user group...
|
||||
SystemGroup sys root <% if @admin_group %><%= @admin_group %><% end %>
|
||||
|
||||
# Listen all interfaces for connections.
|
||||
ServerAlias *
|
||||
Listen *:631
|
||||
Listen /var/run/cups/cups.sock
|
||||
|
||||
# Show shared printers on the local network.
|
||||
Browsing On
|
||||
BrowseOrder allow,deny
|
||||
BrowseAllow @LOCAL
|
||||
BrowseLocalProtocols CUPS dnssd
|
||||
|
||||
# Default authentication type, when authentication is required...
|
||||
DefaultAuthType Basic
|
||||
|
||||
# Restrict access to the server...
|
||||
<Location />
|
||||
Order allow,deny
|
||||
Allow from @LOCAL
|
||||
</Location>
|
||||
|
||||
# Restrict access to the admin pages...
|
||||
<Location /admin>
|
||||
Order allow,deny
|
||||
</Location>
|
||||
|
||||
# Restrict access to configuration files...
|
||||
<Location /admin/conf>
|
||||
AuthType Default
|
||||
Require user @SYSTEM
|
||||
Order allow,deny
|
||||
</Location>
|
||||
|
||||
# Set the default printer/job policies...
|
||||
<Policy default>
|
||||
# Job-related operations must be done by the owner or an administrator...
|
||||
<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>
|
||||
|
||||
# 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 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 <% if @manager_group %>@<%= @manager_group %><% end %>
|
||||
Order deny,allow
|
||||
</Limit>
|
||||
|
||||
<Limit All>
|
||||
Order deny,allow
|
||||
</Limit>
|
||||
</Policy>
|
||||
|
||||
# Set the authenticated printer/job policies...
|
||||
<Policy authenticated>
|
||||
# Job-related operations must be done by the owner or an administrator...
|
||||
<Limit Create-Job Print-Job Print-URI>
|
||||
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>
|
||||
|
||||
# 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 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 <% if @manager_group %>@<%= @manager_group %><% end %>
|
||||
Order deny,allow
|
||||
</Limit>
|
||||
|
||||
<Limit All>
|
||||
Order deny,allow
|
||||
</Limit>
|
||||
</Policy>
|
||||
|
||||
#
|
||||
# End of "$Id: cupsd.conf.in 8805 2009-08-31 16:34:06Z mike $".
|
||||
#
|
Loading…
Add table
Reference in a new issue