Configurando o Samba para permitir o uso da impressora CUPS

4

Problemas com a impressão do samba. Eu tenho uma impressora CUPS instalada em um servidor Ubuntu 11.04 e isso funciona muito bem.

Quando tento configurar o samba para permitir que uma máquina XP use a impressora, ela falha ao imprimir. Eu posso instalar os drivers de impressora para XP a partir do servidor e a impressora aparece nos painéis de controle da impressora XP. Quando tento imprimir uma página de teste da máquina XP, recebo esse erro no log de eventos do sistema:

Jun 27 20:33:29 FatController smbd[3571]: [2012/06/27 20:33:29,  0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
Jun 27 20:33:29 FatController smbd[3571]:   _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client JAMES machine account JAMES$

Aqui está o meu arquivo smb.conf:

[global]
server string = %h (Server)
workgroup = SODOR
encrypt passwords = true
security = user
os level = 255
preferred master = yes
domain master = yes
local master = yes
logon path = \%L\profile\%U
logon drive = S:
logon home = \%L\home\%U
domain logons = yes
map to guest = Never
guest ok = no
dns proxy = no
time server = yes
logon script = logon.bat
load printers = yes
printing = cups
printcap name = cups
nt acl support = no
interfaces = eth1 lo
bind interfaces only = yes
smb ports = 445

[netlogon]
comment = Net Log On
path = /home/samba/netlogon
guest ok = no
read only = yes
browseable = no

[profile]
comment = User Profiles
path = /home/samba/profiles
read only = no
create mask = 0600
directory mask = 0700
browseable = no
store dos attributes = yes

[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = no
printable = yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
guest ok = no
read only = yes
write list = root, skizz

Alguém sabe qual é o problema e como corrigi-lo?

Além do acima, também recebo este erro:

Jun 27 21:56:35 FatController smbd[3571]: [2012/06/27 21:56:35,  0] printing/print_cups.c:1027(cups_job_submit)
Jun 27 21:56:35 FatController smbd[3571]:   Unable to print file to 'Edward' - client-error-not-authorized

que eu acho mais relevante.

    
por Skizz 27.06.2012 / 22:19

3 respostas

5
  • Se você não está muito ligado ao uso do Samba, pode compartilhar uma impressora usando o IPP :

    A maneira preferida de conectar um cliente Windows a um servidor de impressão Linux é usando o IPP. É um protocolo de impressora padrão baseado em HTTP, permitindo a você todas as maneiras de lucrar com o encaminhamento de porta, tunelamento, etc. A configuração é muito fácil e dessa forma é menos propensa a erros do que usar o Samba. O IPP é suportado nativamente pelo Windows desde o Windows 2000. Para configurar o lado do servidor, você precisa ativar a navegação em /etc/cups/cupsd.conf , adicionando a linha "BrowesAllow all":

     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    

    No computador Windows, vá para o painel de controle da impressora e escolha 'Adicionar nova impressora'. Em seguida, escolha dar um URL. Para o URL, digite o local da impressora: http://host_ip_address:631/printers/printer_name (onde host_ip_address é o endereço IP do servidor GNU / Linux e printer_name é o nome da impressora que está sendo conectada).

    Depois disso, instale os drivers de impressora nativos da sua impressora no computador Windows. Se o servidor CUPS estiver configurado para usar seus próprios drivers de impressora, basta selecionar uma impressora postscript genérica para o cliente Windows (por exemplo, 'HP Color LaserJet 8500 PS' ou 'Xerox DocuTech 135 PS2'). Em seguida, teste a configuração de impressão imprimindo uma página de teste.

  • Se você precisar usar o Samba para compartilhar, adicione uma lista de gravação a smb.conf :

    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Todas as informações acima encontradas em este wiki, que tem mais informações do que eu incluí aqui. Espero que ajude!

    
por jpetersen 28.06.2012 / 00:38
2

Também tive esse problema com uma impressora conectada a um computador executando o Ubuntu 12.04 e tentando imprimir de um computador com Windows XP. Eu descobri que há um bug conhecido no samba.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

E então eu tive que regenerar o banco de dados do samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

E então funcionou. Eu tenho um contrato de suporte w / canonical e eles ajudaram a corrigir isso.

    
por Robert Solomon 04.05.2013 / 16:49
1

Todos os manuais dizem que nas opções de compartilhamento você pode ter read only = yes . Acontece que essa possibilidade de gravação é necessária (um bug do samba?). Isso é o que jpetersen coloca como write list=@adm root <username> .

Quando não tenho acesso de gravação, os arquivos de tamanho zero aparecem em /var/spool/samba . Quando eu mapeio os compartilhamentos como root - eu tenho sucesso.

Finalmente , trabalhei adicionando a seção [printers] :

read only = no

Eu também tenho o seguinte, para simplificar as coisas e facilitar a depuração e a solução de problemas:

[global]
max protocol=NT1
smb ports=139
    
por Jarekczek 01.02.2016 / 09:31