Red Hat Training

A Red Hat training course is available for RHEL 8

3.15. Configurando o Samba como servidor de impressão

Se você configurar o Samba como um servidor de impressão, os clientes em sua rede podem usar o Samba para imprimir. Além disso, os clientes Windows podem, se configurados, baixar o driver do servidor Samba.

Partes desta seção foram adotadas a partir da documentação de Criação do Samba como um Servidor de Impressão publicada no Samba Wiki. Licença: CC BY 4.0. Autores e colaboradores: Veja a guia Histórico na página Wiki.

Pré-requisitos

O Samba foi criado em uma das seguintes modalidades:

3.15.1. O serviço Samba spoolssd

O Samba spoolssd é um serviço que está integrado ao serviço smbd. Habilite spoolssd na configuração do Samba para aumentar significativamente o desempenho em servidores de impressão com um alto número de trabalhos ou impressoras.

Sem spoolssd, Samba forca o processo smbd e inicializa o cache printcap para cada trabalho de impressão. No caso de um grande número de impressoras, o serviço smbd pode ficar sem resposta por vários segundos enquanto o cache é inicializado. O serviço spoolssd permite iniciar os processos smbd pré-fabricados que estão processando os trabalhos de impressão sem qualquer atraso. O processo principal spoolssd smbd usa uma quantidade baixa de memória, e forca e encerra processos infantis.

O procedimento a seguir explica como habilitar o serviço spoolssd.

Procedimento

  1. Edite a seção [global] no arquivo /etc/samba/smb.conf:

    1. Adicione os seguintes parâmetros:

      rpc_server:spoolss = external
      rpc_daemon:spoolssd = fork
    2. Opcionalmente, você pode definir os seguintes parâmetros:

      ParâmetroPadrãoDescrição

      spoolssd:prefork_min_children

      5

      Número mínimo de processos infantis

      spoolssd:prefork_max_children

      25

      Número máximo de processos infantis

      spoolssd:prefork_spawn_rate

      5

      O Samba forca o número de novos processos infantis estabelecidos neste parâmetro, até o valor estabelecido em spoolssd:prefork_max_children, se uma nova conexão for estabelecida

      spoolssd:prefork_max_allowed_clients

      100

      Número de clientes, um processo infantil serve

      spoolssd:prefork_child_min_life

      60

      Duração mínima de um processo infantil em segundos. 60 segundos é o mínimo.

  2. Verifique o arquivo /etc/samba/smb.conf:

    # testparm
  3. Reinicie o serviço smb:

    # systemctl restart smb

    Depois de reiniciar o serviço, Samba inicia automaticamente smbd processos infantis:

    # ps axf
    ...
    30903 smbd
    30912  \_ smbd
    30913      \_ smbd
    30914      \_ smbd
    30915      \_ smbd
    ...