Este HOWTO foi desenvolvido para ajudá-lo a migrar uma rede com vários clientes diferentes falando línguas diferentes, para muitas máquinas diferentes que falam uma linguagem comum. O objetivo final é ajudar diferentes arquiteturas e tecnologias, viverem juntas em um feliz ambiente produtivo de coexistência.
Seguindo na direção definida neste HOWTO você deve dar um excelente passo para uma coexistência pacífica entre Windows, e virtualmente todas as variações de *nix conhecidas.
Este HOWTO originalmente não iniciou como um HOWTO, mas como um FAQ. Pretendeu-se explorar a funcionalidade e poder do sistema Gentoo, do portage e da flexibilidade das USE flags. Assim como muitos outros projetos, descobriu-se rapidamente o que faltava no reino Gentoo: não havia nenhum Samba HOWTO criado por usuários Gentoo. Esses usuários são mais exigentes do que a maioria; eles requerem performance, flexibilidade e customização. Entretanto isto não implica que este HOWTO não seja útil para outras distribuições; ele foi desenvolvido para trabalhar com uma versão altamente customizada do Samba.
Este HOWTO descreverá como compartilhar arquivos e impressoras entre PCs Windows e PCs *nix. Irá também demonstrar o uso da funcionalidade VFS (Virtual File System) do Samba para incorporar detecção automática de vírus. Para finalizar, irá mostrar a vocễ como montar e manipular compartilhamentos.
Há alguns tópicos que serão mencionados, mas estão fora do escopo deste HOWTO. Estes serão notados pois são apresentados.
Este HOWTO é baseado em uma compilação e junção de um excelente HOWTO fornecido nos forúms do Gentoo pelo Andreas "daff" Ntaflos e o conhecimento coletado de Joshua Preston. O link para esta discussão está disponível abaixo para sua referência:
Existem diversos outros guias para configurar CUPS e/ou Samba, por favor leia-os também, pois eles podem dizer coisas que estão fora deste HOWTO (intencionalmente ou não). Um destes documentos mais útil e bem escrito é o Guia de Impressão Gentoo, edições de arquivos de configuração e configurações de impressoras específicas não serão discutidos aqui.
Ápos a apresentação das várias USE flags, a seguinte lista esboçará todos os tópicos cobertos como eles serão apresentados:
Íremos precisar do seguinte:
O pacote principal que usamos aqui foi o net-fs/samba, entretanto, você irá precisar de um kernel com suporte a smbfs habilitado para montar um compartilhamento samba ou windows de outro computador. Será feito o emerge do CUPS caso ele já não esteja instalado. O app-antivirus/clamav será usado também, mas os outros devem ser facilmente adaptados para trabalharem com o Samba. O ebuild do samba no Gentoo suporta todo tipo de tecnologia de detecção de vírus, como Sophos, FProt, Fsav, Trend, Icap, Nai, ...
2. Começando a se familiarizar com o Samba
Antes de fazer o emerge de qualquer coisa, de uma olhada nas várias USE flags disponíveis para o Samba.
Listagem de código 2.1: Samba usa as seguintes variáveis USE: |
kerberos mysql xml acl cups ldap pam readline python oav libclamav |
Dependendo da sua topologia de rede e dos requisitos específicos do servidor, as USE flags exibidas abaixo irão definir o que incluir ou excluir da sua instalação do Samba.
| USE flag | Descrição |
| kerberos | Inclui suporte para Kerberos. O servidor necessitará disto se pretende-se fazer parte de um domínio existente ou Active Directory. Veja a nota abaixo para mais informações. |
| mysql | Isto irá permitir ao Samba usar MySQL para fazer autenticação de senha. Ele armazenará ACLs, nomes de usuário, senhas, etc em um banco de dados contra um arquivo texto. Se Samba necessitar fazer autenticação de senha, como agir como um servidor de validação de senha ou um Controlador de Domínio Primário (PDC). |
| xml | A opção xml na USE para o Samba fornece um backend de banco de dados de senha permitindo ao Samba armazenar detalhes de conta em arquivos XML, para as mesmas razões listadas na descrição da USE flag mysql. |
| acl | Habilita Listas de Controle de Acesso. O suporte a ACL no Samba usa uma correção no ext2/ext3, ou SGI's XFS de modo que funcione corretamente como uma extensão mais detalhada de acesso aos arquivos ou diretórios; bem mais do que os típicos esquemas GID/UID do *nix. |
| cups | Este habilita suporte para o Sistema Único de Impressão Unix. Ele Fornece uma interface permitindo impressoras locais CUPS serem compartilhadas com outros sistemas na rede. |
| ldap | Habilita o Lightweight Directory Access Protocol (LDAP). Se espera que o Samba use Active Directory, está opção deve ser usada. Isto seria usado no evento necessário do Samba para fazer login ou fornecer login para um Domínio/Servidor Active Directory. A USE flag kerberos é necessária para o funcionamento apropriado desta opção. |
| pam | Inclui suporte para pluggable authentication modules (PAM). Isto fornece a habilidade para autenticar usuários no Servidor Samba, que é requerido para os usuários fazerem login no seu servidor. A USE flag kerberos é recomendada junto com esta opção. |
| readline | Liga o Samba a libreadline. Isto é altamente recomendado e provavelmente não deve ser desabilitado. |
| python | API de ligamento Python. Fornece uma API que permitirá usar Python para uma interface com o Samba. |
| oav | Fornece acesso a varredura online de compartilhamentos Samba com FRISK F-Prot Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep (SAVI), Symantec CarrierScan, e Trend Micro (VSAPI). |
| libclamav | Use the ClamAV library instead of the clamd daemon |
Algumas coisas a se mencionar sobre USE flags e diferentes funções incluidas no Samba:
3. Instalação do Software Servidor
Primeiro de tudo: certifique-se que todos os nomes de suas máquinas resolvem corretamente. Qualquer um funcionando, seja um sistema de nomes de domínio executando em sua rede ou entradas apropriadas no seu arquivo /etc/hosts. cupsaddsmb apresentará falhas frequentes se os nomes das máquinas não estiverem apontando para as máquinas corretas.
Espero que agora você possa fazer uma avaliação do que realmente necessitará usar do Samba na sua instalação em particular. A configuração usada neste HOWTO é:
Para otimizar performance, tamanho e o tempo de compilação, as USE flags são especificamentes incluídas ou excluídas.
Listagem de código 3.1: Emerge Samba |
# echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use # emerge net-fs/samba |
Nota: As seguintes arquiteturas necessitarão adicionar ~ para suas KEYWORDS: x86, ppc, sparc, hppa, ia64 e alpha |
Isto irá fazer um emerge no Samba e no CUPS (se CUPS já não estiver instalado).
Pelo fato da USE flag oav somente prover uma interface para permitir a verificação de vírus no acesso, um real detector de vírus deve ser instalado. O detector utilizado neste HOWTO é o ClamAV.
Listagem de código 3.2: Emerge Clamav |
# emerge app-antivirus/clamav
|
Listagem de código 3.3: Emerge foomatic |
# emerge net-print/foomatic
|
Fazendo o Emerge do net-print/hpijs
Somente necessário fazer este emerge caso utilize uma impressora HP.
Listagem de código 3.4: Emerge hpijs |
# emerge net-print/hpijs
|
O principal arquivo de configuração do Samba é o /etc/samba/smb.conf. Ele é dividido em secões indicadas por [nomeseção]. Comentários são qualquer um # ou ;. Um exemplo do smb.conf está incluído abaixo com comentários e sugestões para modificações. Se precisar de mais detalhes, veja o man page para smb.conf, o smb.conf.example instalado, o web site do Samba ou qualquer um dos vários livros do Samba disponíveis.
Listagem de código 4.1: Um exemplo do arquivo /etc/samba/smb.conf |
[global] # Substitua MYWORKGROUPNAME pelo seu GrupodeTrabalho/domínio workgroup = MYWORKGROUPNAME # Naturalmente isto não tem nenhuma finalidade REAL à excepção de # deixar claro para todos que não é um Windows! # %v exibe a versão do Samba que estamos utilizando. server string = Samba Server %v # Nós usaremos cups, então iremos colocá-lo aqui dentro ;-) printcap name = cups printing = cups load printers = yes # Queremos um arquivo de log e não queremos que seja maior do que # 50kb. log file = /var/log/samba/log.%m max log size = 50 # Definimos algumas opções para nossas interfaces... socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Esta é uma boa idéia, ligaremos o servidor samba a nossa rede local. # Por exemplo, se eth0 é seu dispositivo de rede local interfaces = lo eth0 bind interfaces only = yes # Agora especificaremos quem permitimos, estaremos após tudo # muito concientes da segurança, pois está configuração não # utiliza senhas! hosts allow = 127.0.0.1 192.168.1.0/24 hosts deny = 0.0.0.0/0 # Outras opções para isto são USER, DOMAIN, ADS e SERVER # O padrão é user security = share # Sem senhas, então usaremos uma conta convidado! guest account = samba guest ok = yes # Implementaremos agora a verificação de vírus no acesso. # NOTA: Colocando isto na nossa seção [Global], habilitaremos # verificação em TODOS compartilhamentos, você pode opcionalmente mover # isto para um compartilhamento específico e detectar somente nele. # Para Samba 3.x. Isto habilita verificação no acesso do ClamAV. vfs object = vscan-clamav vscan-clamav: config-file = /etc/samba/vscan-clamav.conf # Agora configuramos nossas informações sobre drivers de impressoras [print$] comment = Printer Drivers path = /etc/samba/printer # this path holds the driver structure guest ok = yes browseable = yes read only = yes # Modifique isto para "nomeusuário,root" se não quiser que o root seja # o único administrador de impressoras) write list = root # Agora configuramos uma impressora para compartilhar, o nome é arbitrário # e deve ser consistente entre Samba e CUPS! [HPDeskJet930C] comment = HP DeskJet 930C Network Printer printable = yes path = /var/spool/samba public = yes guest ok = yes # Modifique isto para "nomeusuário,root" se não quiser que o root seja # o único administrador de impressoras) printer admin = root # Agora configuramos nosso compartilhamento de impressoras. Este deve ser # browseable, printable, public. [printers] comment = All Printers browseable = no printable = yes writable = no public = yes guest ok = yes path = /var/spool/samba # Modifique isto para "nomeusuário,root" se não quiser que o root seja # o único administrador de impressoras) printer admin = root # Criamos um novo compartilhamento que possamos ler/gravar de qualquer lugar # Este é um modelo de compartilhamento temporário público, qualquer um pode fazer # o que quiser aqui. [public] comment = Public Files browseable = yes public = yes create mode = 0766 guest ok = yes path = /home/samba/public |
Aviso: Se quiser usar a conta convidado do Samba para fazer qualquer coisa a respeito de imprimir dos clientes Windows: não defina guest only = yes na seção [global]. A conta convidado parece causar problemas quando executando cupsaddsmb às vezes quando tentando conectar de máquinas Windows. Veja abaixo, também, quando falamos sobre cupsaddsmb e os problemas que podem ocorrer. Use um usuário de impressão dedicado, como printeruser ou printer ou printme ou qualquer outro. Isto não prejudica e irá certamente lhe proteger de diversos problemas. |
Aviso: Habilitando verificação no acesso do ClamAV na seção [global] irá degradar a performance do seu servidor Samba dramáticamente. |
Agora criamos os diretórios requeridos para a mínima configuração do Samba para compartilhar a impressora instalada pela rede.
Listagem de código 4.2: Criando os diretórios |
# mkdir /etc/samba/printer # mkdir /var/spool/samba # mkdir /home/samba/public |
Ao menos um usuário do Samba é requerido a fim de instalar os drivers da impressora e para permitir usuários de se conectarem a impressora. Usuários devem existir no arquivo de sistema /etc/passwd.
Listagem de código 4.3: Criando os usuários |
# smbpasswd -a root (Se algum outro usuário for um administrador de impressoras) # smbpasswd -a username |
As senhas do Samba não necessitam ser as mesmas senhas do sistema em /etc/passwd.
Você precisará atualizar também o /etc/nsswitch.conf para que sistemas Windows possam encontrar facilmente usando NetBIOS:
Listagem de código 4.4: Editando o arquivo /etc/nsswitch.conf |
# nano -w /etc/nsswitch.conf (Edite a linha hosts:) hosts: files dns wins |
O arquivo de configuração especificado para ser utilizado em smb.conf é o /etc/samba/vscan-clamav.conf. As suas opções estão configuradas para o padrão, pode ser necessário alterar a ação para o arquivo infectado.
Listagem de código 4.5: /etc/samba/vscan-clamav.conf |
[samba-vscan] ; configuração em tempo real para vscan-samba usando ; clamd ; todas opções estão configuradas para valores padrão ; não verifique arquivos maiores do que X bytes. Se definido como 0 ; (padrão), está funcionalidade é desabilitada (ex. todos arquivos são verificados) max file size = 0 ; gerar log de todos acessos aos arquivos (yes/no). Se definido como yes, ; todo acesso será logado. Se definido como no (padrão), somente acesso a arquivos ; infectados serão logados verbose file logging = no ; se definido como yes (padrão), o arquivo será verificado quando ; aberto scan on open = yes ; se definido como yes, o arquivo será verificado quando fechado (o ; padrão é yes) scan on close = yes ; se a comunicação com o clamd falhar, deve negar o acesso ao arquivo? ; (padrão: yes) deny access on error = yes ; se o serviço falhar com um erro menor (arquivo corrompido, etc.), ; deve negar o acesso ao arquivo? ; (padrão: yes) deny access on minor error = yes ; enviar uma mensagem de alerta pelo serviço Windows Messenger ; quando vírus forem encontrados? ; (padrão: yes) send warning message = yes ; o que fazer com os arquivos infectados ; quarantine: tentar mover para diretório de quarentena; se mover falhar apagá-lo ; delete: deletar arquivo infectado ; nothing: não faça nada infected file action = delete ; onde colocar os arquivos infectados - você quer realmente alterar isto! ; Ele tem que estar no mesmo dispositivo físico que o compartilhamento! quarantine directory = /tmp ; prefixo para arquivos em quarentena quarantine prefix = vir- ; como o Windows tenta abrir um arquivo múltiplas vezes em um período ; (muito) curto de tempo, samba-vscan usa o mais recente mecanismo usado para ; evitar múltiplas verificações de um arquivo. Está configuração especifica o ; número máximo de elementos da mais recente lista de arquivos utilizada. ; (padrão: 100) max lru files entries = 100 ; uma entrada é invalidada após o tempo de vida do arquivo lru (em ; segundos). ; (Padrão: 5) lru file entry lifetime = 5 ; nome do socket do clamd (padrão: /var/run/clamd) clamd socket name = /tmp/clamd ; número da porta onde o ScannerDaemon "escutará" oav port = 8127 |
Geralmente é uma boa idéia iniciar a verificação por vírus imediatamente. Adicione-o para o runlevel default para que o serviço clamd inicie imediatamente. O serviço tem dois processos: freshclam mantém o banco de dados de definição de vírus atualizado quando o clamd é o serviço atual de anti-vírus. Primeiro você deve definir os locais dos arquivos de log de modo que atenda as suas necessidades.
Listagem de código 4.6: Verificando a localização dos arquivos de log |
# vim /etc/clamd.conf (Verifique a linha "LogFile /var/log/clamd.log") # vim /etc/freshclam.conf (Verifique a linha "UpdateLogFile /var/log/freshclam.log") # vim /etc/conf.d/clamd (Defina "START_CLAMD=yes" e "START_FRESHCLAM=yes") |
Agora ative seu detector de vírus.
Listagem de código 4.7: Adicionando clamd para iniciar no boot |
# rc-update add clamd default # /etc/init.d/clamd start |
Este é um pouco mais complicado. O arquivo de configuração do CUPS' é o /etc/cups/cupsd.conf. Ele tem a estrutura parecida com a do arquivo httpd.conf do Apache, assim como muitos você deve achá-lo familiar. No exemplo abaixo estão as diretivas que precisam ser alteradas:
Listagem de código 4.8: /etc/cups/cupsd.conf |
ServerName PrintServer # o nome do seu servidor de impressão ServerAdmin root@PrintServer # a pessoa que receberá os e-mails # relacionados a impressão, ex. você AccessLog /var/log/cups/access_log # provavelmente não é necessário alterar ErrorLog /var/log/cups/error_log # realmente não é necessário alterar isso LogLevel debug # somente quando estiver instalando e testando, deve ser # alterado para 'info' depois MaxClients 100 # I've had to set this to 1000000000 or so because some time back, # there seemed to be a bug in CUPS' controlling of the web interface, # making CUPS think a denial of service attack was in progress when # I tried to configure a printer with the web interface. weird. BrowseAddress @IF(eth0) # Altere isto para sua interface de rede interna <Location /> Order Deny,Allow Deny From All Allow From 192.168.1.* # o endereço da sua rede interna # ex 192.168.1.* irá permitir conexões de qualquer máquina da # rede 192.168.1.0. altere para a sua realidade </Location> <Location /admin> AuthType Basic AuthClass System Allow From 192.168.1.* # o mesmo que antes, permite qualquer máquina # na rede 192.168.1.0 se conectar e ter tarefas # administrativas após a autenticação Order Deny,Allow Deny From All </Location> |
Edite o arquivo /etc/cups/mime.convs e descomente algumas linhas. As alterações em mime.convs e mime.types são necessárias para fazer com que o CUPS imprima os documentos do Microsoft Office.
Listagem de código 4.9: /etc/cups/mime.convs |
(A seguinte linha encontra-se no final do arquivo. Descomente-a)
application/octet-stream application/vnd.cups-raw 0
|
Edite o arquivo /etc/cups/mime.types e descomente algumas linhas.
Listagem de código 4.10: /etc/cups/mime.types |
(A seguinte linha encontra-se no final do arquivo. Descomente-a)
application/octet-stream
|
CUPS precisa ser iniciado durante o boot, e ser iniciado imediatamente.
Listagem de código 4.11: Configurando o serviço CUPS |
(Para iniciar durante o boot) # rc-update add cupsd default (Para iniciar ou reiniciar o CUPS agora) # /etc/init.d/cupsd restart |
Instalando uma impressora para e com o CUPS
Primeiro, vá até LinuxPrinting.Org para encontrar e fazer o download do arquivo PPD correto para sua impressora e para o CUPS. Para fazer isso, clique na Lista de Impressoras no link a esquerda. Selecione o fabricante das suas impressoras e o modelo no menu pulldown, ex. HP e DeskJet 930C. Clique em "Show". Na próxima página clique no link "recommended driver" após ter lido as várias notas e informações. Então procure o arquivo PPD na próxima página, novamente após ter lido as notas e introduções existentes. Você pode ter que selecionar o fabricante das suas impressoras e o modelo novamente. Ler o Guia de inicialização do CUPS também é muito útil quando estiver trabalhando com o CUPS.
Agora você tem um arquivo PPD para sua impressora funcionar com o CUPS. Coloque-o dentro de /usr/share/cups/model. O arquivo PPD para a HP DeskJet 930C estava nomeado como HP-DeskJet_930C-hpijs.ppd. Você deve instalar a impressora agora. Isto pode ser feito pela interface web do CUPS ou pela linha de comando. A interface web se encontra em http://PrintServer:631 onde o CUPS estiver executando.
Listagem de código 4.12: Instalando a impressora pela linha de comando |
# lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd
|
Lembre-se de ajustar para a que você possui. Esteja certo de ter o nome (argumento -p) correto (o nome que definiu anteriormente durante a configuração do Samba!) e ponha o dispositivo correto usb:/dev/usb/blah, parallel:/dev/blah ou qualquer outro que esteja usando para sua impressora.
Você deve ser capaz agora de acessar a impressora pela interface web e imprimir uma página de teste.
Instalando os drivers da impressora do Windows
Agora que a impressora já deve estar funcionando é hora de instalar os drivers para os clientes Windows funcionarem. O Samba 2.2 introduziu está funcionalidade. Navegando no servidor de impressão pelo Ambiente de Rede, clicando com o botão direito na impressora compartilhada e selecionando "conectar" os drivers apropriados serão copiados automagicamente para o cliente conectado, evitando o trabalho de instalar manualmente os drivers da impressora localmente.
Existem dois tipos de drivers de impressora para isto. Primeiro, os drivers Adobe PS que podem ser obtidos em Adobe (Drivers de impressora PostScript). Segundo, existem os drivers PS do CUPS, que podem ser obtidos no site do CUPS selecionando "CUPS Driver for Windows" no menu pull down. Não existem diferenças entre as funcionalidades dos dois, mas os drivers Adobe PS necessitam ser extraídos em um Sistema Windows pois ele é um binário Windows. Também todo o processo de procurar e copiar os arquivos corretos é um bit mais trabalhoso. Os drivers do CUPS parecem ter suporte a algumas opções e os drivers do Adobe não.
Este HOWTO usa os drivers do CUPS para Windows. O arquivo baixado é chamado cups-samba-5.0rc2.tar.gz. Extraia os arquivos contidos em um diretório.
Listagem de código 4.13: Extraindo os drivers e executando a instalação |
# tar -xzf cups-samba-5.0rc2.tar.gz # cd cups-samba-5.0rc2 (Só use este script se CUPS estiver em /usr/share/cups) # ./cups-samba.install |
cups-samba.ss é um arquivo TAR contendo três arquivos: cups5.hlp, cupsdrvr5.dll e cupsui5.dll. Estes são os arquivos atuais de driver.
Aviso: O script cups-samba.install pode não funcionar para todos *nixes (ex FreeBSD) porque quase tudo que não é parte do sistema base é instalada em algum lugar sob o prefixo /usr/local/. Este não parece ser o caso da maioria das coisas que você instala sob o GNU/Linux. Entretanto, se sua instalação do CUPS está em algum outro lugar que /usr/share/cups/ veja o exemplo abaixo. |
Suponha que sua instalação do CUPS se encontra sob /usr/local/share/cups/, e você quer instalar os drivers lá. Faça o seguinte:
Listagem de código 4.14: Instalando os drivers manualmente |
# cd /path/you/extracted/the/CUPS-driver/tarball/into # tar -xf cups-samba.ss (Isto extrai os arquivos para usr/share/cups/drivers sob o DIRETÓRIO ATUAL) # cd usr/share/cups/drivers (no leading / !) # cp cups* /usr/local/share/cups/drivers |
Agora iremos usar o script cupsaddsmb disponibilizado pela distribuição CUPS. A man page é uma leitura interessante.
Listagem de código 4.15: Executando cupsaddsmb |
# cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C (Ao invés de HPDeskJet930C você pode também especificar "-a", isto irá exportar todas as impressoras conhecidas".) # cupsaddsmb -H PrintServer -U root -h PrintServer -a |
Aviso: A execução deste comando causa frequentemente a maioria dos problemas. Leia postagens completas nesta thread. |
Aqui estão alguns erros comuns que podem acontecer:
Isto deve instalar o driver corretamente na estrutura de diretório sob /etc/samba/printer. Que deve ser /etc/samba/printer/W32X86/2/. Os arquivos contidos devem ser os 3 arquivos de driver e o arquivo PPD, renomeado para NomeSuaImpressora.ppd (o nome que você definiu para a impressora na instalação (veja acima).
Não havendo mais erros ou outras complicações, seus drivers estão agora instalados.
Finalmente, configuramos nossos diretórios.
Listagem de código 4.16: Alterações finais necessárias |
# mkdir /home/samba # mkdir /home/samba/public # chmod 755 /home/samba # chmod 755 /home/samba/public |
Testando nossa configuração do Samba
Iremos testar nossos arquivos de configuração para ter certeza que tudo está formatado apropriadamente e que todas as nossas opções estão com a sintaxe correta. Para fazer isto executamos o comando testparm.
Listagem de código 4.17: Executando o testparm |
(Por padrão, testparm verifica o arquivo /etc/samba/smb.conf) # /usr/bin/testparm Load smb config files from /etc/samba/smb.conf Processing section "[printers]" Global parameter guest account found in service section! Processing section "[public]" Global parameter guest account found in service section! Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions ... ... |
Agora configure o Samba para iniciar durante o boot; então continue iniciando-o.
Listagem de código 4.18: Iniciando o serviço do Samba |
# rc-update add samba default # /etc/init.d/samba start |
Seria provavelmente prudente verificar também nossos logs nesse momento. Queremos também fazer testes em nossos compartilhamentos Samba usando o comando smbclient.
Listagem de código 4.19: Verificando os compartilhamentos com smbclient |
# smbclient -L localhost Password: (Você deve ver uma GRANDE lista de serviços aqui.) |
Configuração de impressoras para clientes *nix
Independente da variação ou distribuição, a única coisa necessária é o CUPS. Faça o equivalente em qualquer outro cliente UNIX/Linux/BSD.
Listagem de código 5.1: Configurando um sistema Gentoo |
# emerge cups # nano -w /etc/cups/client.conf ServerName PrintServer # o nome do seu servidor de impressão |
Deve ser isto. Nada mais será necessário.
Caso use somente uma impressora, ela será sua impressora padrão. Se seu servidor de impressão gerencia diversas impressoras, seu administrador terá que definir uma impressora padrão no servidor. Se deseja definir uma impressora padrão diferente para você mesmo, use o comando lpoptions.
Listagem de código 5.2: Definindo sua impressora padrão |
(Listando as impressoras disponíveis) # lpstat -a (Exemplo de saída, a sua será diferente) HPDeskJet930C accepting requests since Jan 01 00:00 laser accepting requests since Jan 01 00:00 (Definindo HPDeskJet930C como nossa impressora padrão) # lpoptions -d HPDeskJet930C |
Listagem de código 5.3: Imprimindo de um *nix |
(Especificando a impressora a ser utilizada) # lp -d HPDeskJet930C anything.txt (Usando sua impressora padrão) # lp foobar.whatever.ps |
Simplesmente acesse pelo seu navegador o endereço http://printserver:631 de um cliente se deseja gerenciar suas impressoras e seus trabalhos por uma agradável interface web. Substitua printserver pelo nome da máquina que atua como seu servidor de impressão, não pelo nome que definiu para o servidor de impressão cups caso usasse nomes diferentes.
Montando um compartilhamento Windows ou Samba no GNU/Linux
Agora é o momento de configurarmos nosso kernel para suportar smbfs. Presumo que nós já tenhamos compilado totalmente pelo menos um kernel, precisaremos ter certeza que temos todas as opções corretas selecionadas no nosso kernel. Por causa da simplicidade, faça como um módulo para facilitar o uso. Está é a opnião do autor, os módulos do kernel são coisas boas e devem ser usados quando possível.
Listagem de código 5.4: Opções relevantes do kernel |
CONFIG_SMB_FS=m CONFIG_SMB_UNIX=y |
Então faça os módulos/instale-os; carregue-os com:
Listagem de código 5.5: Lendo o módulo do kernel |
# modprobe smbfs
|
Uma vez que os módulos estejam carregados, a montagem de compartilhamentos Windows ou Samba é possível. Use o comando mount para realizar isto, como detalhado abaixo:
Listagem de código 5.6: Montando um compartilhamento Windows/Samba |
(A sintaxe para montar um compartilhamento Windows/Samba é: mount -t smbfs [-o username=xxx,password=xxx] //server/share /mnt/point Se não estamos usando senhas ou uma senha não é necessária) # mount -t smbfs //PrintServer/public /mnt/public (Se uma senha é necessária) # mount -t smbfs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public |
Depois de montar o compartilhamento, você pode acessá-lo como se fosse um drive local
Configuração de impressoras para clientes Windows NT/2000/XP
Aqui é justamente um bit de apontar-e-clicar. Navegue até \\PrintServer e clique com o botão direito na impressora (HPDeskJet930C) e selecione conectar. Os drivers serão copiados para o cliente Windows e agora todas as aplicações (como o Word ou Acrobat) oferecerão HPDeskJet930C como uma impressora disponível para impressão. :-)
Bem, deve ser isto. Agora você deve ter um bem sucedido ambiente de impressão que é amigável tanto para Windows como *nix, bem como compartilhamentos funcionando livres de vírus!
Estes são alguns links que podem ajudá-lo na instalação, configuração e solução de problemas da sua instalação:
Veja esta página de Kurt Pfeifle's "Printing Support in Samba 3.0" manual. Tem várias dicas úteis lá! Tenha certeza que procurou neste link primeiro, antes de postar questões e problemas! A solução para o que procura estará lá.
O conteúdo deste documento está licenciado pela licença Creative Commons - Attribution / Share Alike.