Estou tentando usar o samba junto com o CUPS para compartilhar impressoras e seus drivers para máquinas Windows na rede. Toda vez que tento carregar drivers de impressora de uma máquina com Windows 10 através do printmanagement.msc, recebo um erro de "Acesso Negado", mas no lado do servidor, vejo que os arquivos foram criados!
Eu até agora instalei o samba em uma estação de trabalho Ubuntu 18.04 LTS, criei um usuário samba "root" com uma senha correspondente e editei o smb.conf
[print$]
path = /srv/samba/printer_drivers/
read only = no
guest ok = yes
browseable = yes
wirteable = yes
directory mask = 0775
create mask = 0775
write list = @lpadmin, root
admin users = @lpadmin, root
force user = root
o diretório compartilhado / srv / samba / printer_drivers / tem as seguintes permissões:
root$ ls -la /srv/samba/printer_drivers/
total 36
drwxrwsr-x 9 root root 4096 Nov 7 14:30 ./
drwxr-xr-x 3 root root 4096 Nov 5 10:24 ../
drwxrwsr-x 2 root root 4096 Nov 7 14:30 IA64/
drwxrwsr-x 2 root root 4096 Nov 7 14:30 W32ALPHA/
drwxrwsr-x 2 root root 4096 Nov 7 14:30 W32MIPS/
drwxrwsr-x 2 root root 4096 Nov 7 14:30 W32PPC/
drwxrwsr-x 2 root root 4096 Nov 7 14:30 W32X86/
drwxrwsr-x 2 root root 4096 Nov 7 14:30 WIN40/
drwxrwsr-x 4 root root 4096 Nov 8 10:41 x64/
Os subdiretórios foram criados automaticamente pelo Assistente do Windows AddDriver
Eu conecto o compartilhamento no host do Windows via
net use x: \hostname\print$ /user:root
Em seguida, insiro a senha que é aceita
the command completed successfully
Eu posso navegar para o compartilhamento no Windows Explorer e criar, modificar e excluir arquivos sem problemas. Quando eu abro o printmanagement.msc, clico no meu servidor samba (que eu adicionei como printserver) e selecione "Add Driver" Eu sou capaz de selecionar um driver da lista, e clique em "Finish". Eu posso então ver uma janela de transferência de arquivos do explorador que mostra os arquivos sendo copiados, e um ls do diretório compartilhado na máquina Linux mostra que os arquivos estão lá, mas a máquina windows então gera um erro:
"Um driver HP LaserJet (...), Tipo 4 - Usermode x64 não pôde ser instalado. O acesso foi negado."
Assim que eu aceitar a mensagem de erro com o botão OK, os arquivos do driver no compartilhamento serão excluídos.
A saída do smbstatus (as primeiras 3 partes de endereço IP generalizadas por mim):
root$ smbstatus
Samba version 4.7.6-Ubuntu
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
13162 root root *.*.*.119 (ipv4:*.*.*.119:49176) SMB3_11 - partial(AES-128-CMAC)
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
print$ 13162 *.*.*.119 Thu Nov 8 12:45:30 PM 2018 CET - -
IPC$ 13162 *.*.*.119 Thu Nov 8 12:45:37 PM 2018 CET - -
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
13162 0 DENY_NONE 0x80 RDONLY NONE /srv/samba/printer_drivers . Thu Nov 8 12:45:31 2018
Tags samba shared-folders printer