Wiki GeRgOsNet Notes d’administration système, réseau et domotique

Vous consultez une ancienne version, enregistrée le 23 juin 2019 par GreG. Voir la version actuelle.

Serveur Impression CUPS

Migration depuis l’ancien wiki MediaWiki

CUPS est un super serveur d'impression créer par Apple et porté sous linux.

  • Installation :
apt-get install cups splix
  • Configuration

Éditer le fichier de configuration :

cd /etc/cups/ 
cp cupsd.conf cupsd.conf.ori
pico cupsd.conf

Contenue :

# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn 

# Deactivate CUPS' internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0

# Administrator user group...
SystemGroup lpadmin

# 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
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
BrowseAddress @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>
  Order allow,deny
  Allow @LOCAL
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @LOCAL
</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
   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
   Order deny,allow
 </Limit>

 <Limit All>
   Order deny,allow
 </Limit>
</Policy>

#
#

Relancer le serveur :

/etc/init.d/cups restart
  • Utilisation :

Il ne reste plus qu'a configurer votre imprimante à l'adresse :

http://votreserveur:631
  • Ajout de l'imprimante à Samba pour un partage simple avec windows :

Maintenant, assurez-vous d'avoir les lignes suivantes dans votre section [global] :

[global]
load printers = yes
printing = cups
printcap name = cups

Ecrasez, votre section [printers] avec ce qui suit :

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root

[print$]
comment = Printer Drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root

J'ai mis greg, dans la write list, ceci implique que vous ayez un utilisateur samba nommé root. Vous pouvez l'initialiser par :

smbpasswd -a greg

Il ne vous reste plus qu'à déclarer votre/vos imprimante(s) à samba, à l'aide d'une seule commande :

cupsaddsmb -U greg -a