Eu tive um problema semelhante recentemente e a postagem vinculada no comentário singular acima não respondeu à pergunta colocada aqui (configurar o Windows com compartilhamentos de impressora autenticados do Samba, e NÃO o contrário). Eu queria apenas permitir acesso autenticado a impressoras compartilhadas do Linux. Além disso, estou executando o Ubuntu Server LTS, o que significa acesso somente via linha de comando (via SSH no meu caso), então a maioria dos tutoriais / guias que estou encontrando mostram a GUI do Ubuntu e, portanto, são inúteis para mim.
A seção [printers]
com a opção printable = yes
define o mapeamento para o CUPS. A configuração browseable = no
impede que essa opção seja exibida nas listas de impressoras. É o verdadeiro spool de impressora para trabalhos de impressão, o que faz sentido. No entanto, por padrão, qualquer pessoa com uma configuração de impressora configurada corretamente e que possa acessar o servidor Samba tem acesso implícito para imprimir sem privilégios (por exemplo, acesso anônimo). Para forçar o acesso autenticado ao spooler de impressão, usei a opção valid users = bob, joe, mary
.
O Windows procura o nome do compartilhamento print$
para impressoras. A seção associada [print$]
declara browseable = yes
, que concede a qualquer um que se conecta ao servidor Samba a capacidade de ver as impressoras disponíveis. Mesmo que guest ok = no
seja o padrão, o Samba ainda permite o que considero ser acesso anônimo a qualquer impressora. Para forçar a autenticação, usei a opção valid users = bob, joe, mary
. Se você quiser impedir que as impressoras sejam vistas em primeiro lugar por usuários não autenticados, tente usar browseable = no
e use a opção include = /etc/samba/print.%U.conf
para alterar browseable = yes
para usuários específicos de acordo com essa postagem do Unix StackExchange:
Juntando tudo, /etc/samba/smb.conf
parece:
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
valid users = bob, joe, mary
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
valid users = bob, joe, mary
Um dos efeitos colaterais da autenticação no Windows foi que tentar clicar duas vezes em uma impressora em Open
it (o verbo padrão no Windows) como um usuário não reconhecido causou uma caixa de mensagem "Acesso negado" aparecem, mas nunca foram solicitadas credenciais. Provavelmente, o Windows estava transmitindo as credenciais do Windows registradas pelo usuário nessa instância. Felizmente, clicando com o botão direito do mouse e selecionando a opção "Conectar ..." solicitou credenciais. Após conectar-me com sucesso, consegui Open
da impressora, que me pediu para configurar manualmente os drivers da minha impressora, pois não tentei fornecê-los via Samba e está além do escopo da resposta a essa pergunta. Então eu imprimi com êxito uma página de teste e tudo estava bem.