1.15. Configurer Samba en tant que serveur d'impression
Si vous configurez Samba en tant que serveur d'impression, les clients de votre réseau peuvent utiliser Samba pour imprimer. En outre, les clients Windows peuvent, s'ils sont configurés, télécharger le pilote à partir du serveur Samba.
Certaines parties de cette section ont été adoptées à partir de la documentation Setting up Samba as a Print Server publiée dans le Samba Wiki. Licence : CC BY 4.0. Auteurs et contributeurs : Voir l'onglet historique de la page Wiki.
Conditions préalables
Samba a été configuré dans l'un des modes suivants :
1.15.1. Activation de la prise en charge du serveur d'impression dans Samba
Par défaut, la prise en charge des serveurs d'impression n'est pas activée dans Samba. Pour utiliser Samba comme serveur d'impression, vous devez configurer Samba en conséquence.
Les travaux d'impression et les opérations d'impression nécessitent des appels de procédure à distance (RPC). Par défaut, Samba démarre le service rpcd_spoolss
à la demande pour gérer les RPC. Lors du premier appel RPC, ou lorsque vous mettez à jour la liste des imprimantes dans CUPS, Samba récupère les informations relatives à l'imprimante auprès de CUPS. Cette opération peut prendre environ 1 seconde par imprimante. Par conséquent, si vous avez plus de 50 imprimantes, réglez les paramètres de rpcd_spoolss
.
Conditions préalables
Les imprimantes sont configurées dans un serveur CUPS.
Pour plus de détails sur la configuration des imprimantes dans CUPS, voir la documentation fournie dans la console web CUPS (https://printserver:631/help) sur le serveur d'impression.
Procédure
Modifiez le fichier
/etc/samba/smb.conf
:Ajoutez la section
[printers]
pour activer le backend d'impression dans Samba :[printers] comment = All Printers path = /var/tmp/ printable = yes create mask = 0600
ImportantLe nom du partage
[printers]
est codé en dur et ne peut pas être modifié.Si le serveur CUPS fonctionne sur un hôte ou un port différent, spécifiez le paramètre dans la section
[printers]
:cups server = printserver.example.com:631
Si vous avez beaucoup d'imprimantes, fixez le nombre de secondes d'inactivité à une valeur supérieure au nombre d'imprimantes connectées à CUPS. Par exemple, si vous avez 100 imprimantes, définissez dans la section
[global]
:rpcd_spoolss:idle_seconds = 200
Si ce paramètre n'est pas adapté à votre environnement, augmentez également le nombre de travailleurs
rpcd_spoolss
dans la section[global]
:rpcd_spoolss:num_workers = 10
Par défaut,
rpcd_spoolss
démarre 5 travailleurs.
Vérifiez le fichier
/etc/samba/smb.conf
:# testparm
Ouvrez les ports requis et rechargez la configuration du pare-feu à l'aide de l'utilitaire
firewall-cmd
:# firewall-cmd --permanent --add-service=samba # firewall-cmd --reload
Redémarrez le service
smb
:# systemctl restart smb
Après le redémarrage du service, Samba partage automatiquement toutes les imprimantes configurées dans le back-end CUPS. Si vous souhaitez partager manuellement des imprimantes spécifiques, reportez-vous à la section Partage manuel d'imprimantes spécifiques.
Vérification
Soumettre un travail d'impression. Par exemple, pour imprimer un fichier PDF, entrez :
# smbclient -Uuser //sambaserver.example.com/printer_name -c "print example.pdf"
1.15.2. Partage manuel d'imprimantes spécifiques
Si vous avez configuré Samba en tant que serveur d'impression, Samba partage par défaut toutes les imprimantes configurées dans le back-end CUPS. La procédure suivante explique comment partager uniquement des imprimantes spécifiques.
Conditions préalables
- Samba est configuré comme serveur d'impression
Procédure
Modifiez le fichier
/etc/samba/smb.conf
:Dans la section
[global]
, désactivez le partage automatique de l'imprimante en définissant :charger les imprimantes = non
Ajoutez une section pour chaque imprimante que vous souhaitez partager. Par exemple, pour partager l'imprimante nommée
example
dans le back-end CUPS en tant queExample-Printer
dans Samba, ajoutez la section suivante :[Example-Printer] path = /var/tmp/ printable = yes printer name = example
Vous n'avez pas besoin de répertoires spool individuels pour chaque imprimante. Dans le paramètre
path
, vous pouvez définir pour l'imprimante le même répertoire spool que celui que vous avez défini dans la section[printers]
.
Vérifiez le fichier
/etc/samba/smb.conf
:# testparm
Recharger la configuration de Samba :
# smbcontrol all reload-config