O Samba é um aplicativo que torna possível o compartilhamento de recursos com máquinas rodando Windows®. O nome Samba é derivado do protocolo utilizado pelo Windows® para compartilhar discos e impressoras: o protocolo SMB, Server Message Block.
Através da utilização do Samba é possível criar redes mistas, utilizando servidores Linux e clientes Windows®. O Samba também permite que o Linux acesse discos exportados de máquinas Windows®. Além de compartilhar recursos, o Samba é capaz de executar várias funções de um servidor Windows®, como por exemplo autenticação de clientes, servidor WINS, e até mesmo agir como um Controlador Primário de Domínio (PDC).
A implementação desse serviço envolve a configuração do servidor, a definição dos recursos a serem exportados e a configuração dos clientes.
Para a implementação de uma solução utilizando o Samba:
sua rede deve estar corretamente instalada e configurada;
as estações Windows® devem utilizar o protocolo TCP/IP.
Para instalar o Samba e seus aplicativos de configuração, selecione para instalação com o Synaptic os seguintes pacotes:
samba-common
samba-server
samba-clients (para clientes)
samba-swat (opcional)
samba-doc (opcional)
Ou, utilizando o comando apt-get, instale os pacotes anteriores digitando em um terminal os seguintes comandos:
# apt-get install samba-common samba-server # apt-get install samba-clients # apt-get install samba-swat samba-doc |
A configuração do Samba pode ser efetuada através do Webmin ou através do Swat, sendo que ambos oferecem uma interface web para configuração. Será utilizado aqui o Webmin para demonstrar como configurar o Samba, e no final da seção, o SWAT será mostrado brevemente.
Inicie o Webmin e acesse a opção -> uma tela como a da Figura 12.8. Configuração do Samba será mostrada.
Selecione o ícone Rede Windows na seção Configuração Global; aqui será configurado o comportamento do servidor Samba para a integração com as estações. As opções principais são as seguintes:
Grupo de trabalho: deve ser configurada com a identificação do workgroup ao qual o servidor Samba pertence.
Descrição do servidor: é a descrição do servidor, como por exemplo Conectiva Linux Samba Server.
Nome do servidor: define o nome que o seu computador vai ter na rede NetBIOS, caso você queira determinar um nome diferente do atual na máquina.
Segurança: define o modo de autenticação que será usado pelo servidor; veja a descrição dos tipos a seguir:
Padrão: será solicitado um usuário válido e uma senha de acesso ao servidor.
Nível de compartilhamento: não pede senha, e todo e qualquer usuário será aceito.
Nível de usuário: será solicitado um usuário válido e uma senha de acesso ao servidor; equivalente a opção Padrão.
Servidor de senhas: o Samba pega o nome de usuário/senha e autentica usando outro servidor, que poderá ser um servidor Linux rodando Samba, um servidor Windows® NT, 2000, etc.
Domínio: opção idêntica à anterior, porém convive com instalações mais complexas, onde existem computadores NT/Win2k operando com PDCs (Primary Domain Controllers) e BDCs (Backup Domain Controllers).
Finalize esta configuração, clicando em . Você irá retornar a tela de configuração principal do Samba, onde outros tipos de configurações estarão disponíveis:
Permite a seleção do tipo de senha que será utilizada, se vai permitir senhas em branco, e também, se será feita a sincronização de senhas UNIX com o Samba (opção ). Modifique apenas o que desejar.
Aqui pode ser configurado o comportamento dos logs do servidor Samba: campos como arquivo, tamanho máximo, etc. são definidos nesta seção, além de outras opções. Não há necessidade de fazer qualquer alteração aqui.
Outras opções poderão ser vistas na seqüência.
O Samba pode exportar qualquer diretório escolhido pelo administrador, e por padrão, o diretório home dos usuários já vêm exportado. Entretanto, pode ser necessário exportar um diretório ao qual todos os usuários possam ter acesso, ou até mesmo criar uma espécie de área de armazenamento temporária para seus usuários.
Para exportar um diretório qualquer, indique no campo Diretório a Ser Compartilhado, no ícone Padrões de Compartilhamento de arquivos (contido na seção Configuração Global), o caminho do diretório que se deseja compartilhar. Habilite a opção Navegável? para que os usuários possam "passear" pelos arquivos e sub-diretórios, e também preencha o campo Comentário sobre o compartilhamento com algum comentário; para efeitos de exemplo, foi colocado o comentário “Diretório temporário”.
Para configurar as permissões de acesso ao diretório compartilhado, entre na opção Controle de segurança e acesso. Existem várias opções para restringir o acesso a um diretório exportado: por usuário, por grupo e por máquinas, dentre outras opções. É interessante modificar o campo Permite escrita para Sim, e com isso, os usuários que têm permissão para acessar o diretório compartilhado poderão também gravar arquivos/diretórios nele. Clique em .
Finalmente, em Permissões de arquivo é possível definir e a máscara usada na criação de arquivos e diretórios. O padrão é permitir a leitura, gravação e execução para o dono, e somente leitura para o grupo e para outros usuários (755). Muito cuidado ao alterar este campo.
Para compartilhar as impressoras do sistema, selecione o link , abaixo da tabela de informações sobre compartilhamentos, na página inicial de configuração do módulo. Basta incluir o nome do compartilhamento, ou se desejar compartilhar todas as impressoras da rede, selecione a opção Compartilhamento de todas as impressoras. Veja a Figura 12.10. Compartilhando Impressoras, que mostra um exemplo desta tela:
Para selecionar o gerenciador de impressão (Cups, LPRng, etc.), utilize a opção Impressão de Windows para Unix, na seção Configuração Global, no início do módulo de configuração do Samba.
![]() | Nota |
|---|---|
O Samba permite o acesso a todas as impressoras do Cups, que é quem define as permissões de impressão. | |
Você pode configurar os itens relacionados a administração de usuários e grupos do Samba na seção Usuários do Samba, contida no índice do módulo. É possível editar senhas e usuários do Samba, fazer a conversão de usuários (utilizando os usuários Unix para acesso ao Samba, opção interessante para o administrador), adicionar e alterar grupos do Samba e fazer o sincronismo automático entre os usuários dos dois sistemas. Estas configurações devem ser feitas no servidor, e não serão vistas com detalhes aqui.
A configuração de usuários e senhas é feita de forma simples no servidor; entretanto, um dos problemas mais comuns durante a instalação do Samba é relacionado com as senhas dos usuários.
A partir da versão 98 o Windows® começou a fazer a transmissão de senhas criptografadas pela rede NetBIOS. O Windows® 95 e as versões iniciais do Windows® NT, porém, transmitiam sem criptografar as senhas. Essa falta de padronização entre esses sistemas torna a configuração do Samba um tanto mais complexa.
A criptografia de senhas visa protegê-las de tentativas primitivas de descoberta. Infelizmente, os algoritmos de criptografia utilizados não são particularmente fortes.
O padrão do Windows® 95 é não criptografar as senhas. Assim, é provável que esta configuração não seja necessária para você. Porém, versões mais recentes do Windows® 95 (como o Windows® 95 OSR2) mudaram seu comportamento. Se você tiver problemas com senhas, siga o procedimento descrito nesta seção.
A configuração do Windows® 95 pode ser feita de duas maneiras. Uma delas seria a utilização do arquivo Win95_PlainPassword.reg, que acompanha o Samba. Este arquivo pode ser localizado no diretório registry:
# cd /usr/share/doc/samba-common-*/registry |
Você pode copiá-lo para as estações Windows® 95. Depois, basta abrir o arquivo (dando dois cliques sobre ele) para que seja instalado.
Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001 |
Como padrão, o Windows® 98 criptografa todas as senhas que trafegam pela rede. Para poder utilizar estações Windows® 98 com sua rede, siga o procedimento descrito nesta seção.
A configuração de senhas não criptografadas no Windows® 98 pode ser feita de duas maneiras. Uma delas seria a utilização do arquivo Win98_PlainPassword.reg, que acompanha o Samba. Este arquivo pode ser localizado no diretório registry:
# cd /usr/share/doc/samba-common-*/registry |
Você pode copiá-lo para as estações Windows® 98. Depois, basta abrir o arquivo (dar dois cliques sobre ele) para que seja instalado.
Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001 |
O Windows® NT criptografa senhas em algumas versões e não criptografa em outras. Constatou-se que, após o terceiro pacote de correções (Service Pack 3 ou SP3), ele passou a criptografar todas as senhas que trafegam pela rede. Assim, recomenda-se seguir os procedimentos descritos nesta seção para assegurar que ele funcione como cliente de uma rede Samba. Além disso, recomenda-se que você tenha, pelo menos, o Windows® NT SP3 instalado.
A configuração de senhas não criptografadas no Windows® NT pode ser feita de duas maneiras. Uma delas seria a utilização do arquivo NT4_PlainPassword.reg, que acompanha o Samba. Este arquivo pode ser localizado no diretório registry:
# cd /usr/share/doc/samba-common-*/registry |
Você pode copiá-lo para as estações Windows® NT. Depois, basta abrir o arquivo (dando dois cliques sobre ele) para que seja instalado.
Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar ou incluir a chave:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\ /
Parameters]
"EnablePlainTextPassword"=dword:00000001 |
O Windows® 2000 criptografa todas as senhas que trafegam pela rede; para poder utilizar estações Windows® 2000 com sua rede siga o procedimento descrito nesta seção.
A configuração de senhas não-criptografadas no Windows® 2000 também pode ser feita de duas maneiras. Uma delas é utilizar o arquivo Win2000_PlainPassword.reg, que acompanha o Samba. Este arquivo pode ser localizado no diretório registry:
# cd /usr/share/doc/samba-common-*/registry |
Você pode copiá-lo para as estações Windows® 2000. Depois, basta executar o arquivo dando dois cliques para que seja instalado.
Outra maneira de habilitar senhas é editar o registro através do utilitário regedit do Windows® para alterar ou incluir a chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ /
LanmanWorkStation\Parameters]
"EnablePlainTextPassword"=dword:00000001 |
O Windows® XP e Windows® ME utilizam o mesmo esquema de senhas decriptografadas descrito anteriormente, com suas chaves em /usr/share/doc/samba-common-*/registry. Elas possuem os seguintes nomes, respectivamente: WinXP_SignOrSeal.reg e WinME_PlainPassword.reg.
Esta seção descreve a configuração da rede de um cliente Windows® 98. A instalação nas outras versões do Windows® deverá ser semelhante. Em caso de dúvidas, você deverá consultar a documentação do Windows® no que se refere aos passos de instalação de uma rede ponto a ponto.
Instale normalmente a sua placa de rede conforme a documentação do Windows®. Você precisará do protocolo TCP/IP e do serviço Cliente para Redes Microsoft. Novamente, consulte a documentação do Windows® para informações sobre como instalar este serviço.
Após a instalação, as propriedades da sua rede deverão se parecer com as da Figura 12.11. Propriedades da Rede Windows®.
Clique na aba Identificação e digite o nome de sua máquina e o do grupo de trabalho. No exemplo, a máquina se chamará kepler e fará parte do workgroup minhaorganizacao.
Clique na aba Controle de Acesso e verifique se a tela está configurada como a Figura 12.13. Configurações do Controle de Acesso.
Voltando para a tela de configuração de redes, abra a tela de propriedades do protocolo TCP/IP; clique em Configuração DNS e adicione o endereço IP do servidor Samba à lista de servidores DNS. Se já não o tiver feito, ative o DNS (opção Ativar DNS na mesma tela).
Note que esta configuração somente se aplica a redes que possuem um servidor DNS. A tela de configuração do DNS é mostrada na Figura 12.14. Configuração do DNS. Você deverá, também, editar a aba Endereço IP, informando o endereço de IP a ser utilizado pela estação (se sua rede possuir um servidor DHCP você não precisará desta configuração).
Clique em e conserve a configuração de rede. O Windows® não pode ser configurado imediatamente e, assim, você terá de reiniciá-lo quando ele o solicitar.
Esses passos permitem colocar uma estação Windows® 98 em sua rede Linux. Após a máquina ter reiniciado, você poderá abrir o Ambiente de rede para navegar pelas máquinas disponíveis na rede. A tela do Ambiente de rede do exemplo se parecerá com a Figura 12.15. Ambiente de Rede.
Além do Webmin, é possível configurar o Samba através de uma outra interface web amigável: o SWAT.
Para habilitar o SWAT a partir de seu servidor é necessário editar o arquivo /etc/xinetd.d/swat e alterar a linha:
disable = yes |
para:
disable = no |
Após feita a edição, o serviço xinetd deve ser reiniciado, e você poderá fazer isso digitando o seguinte comando em um terminal:
# service xinetd restart |
A partir do momento em que o xinetd for reiniciado, o SWAT será acessível através da porta 901 de seu servidor , através de qualquer navegador (veja Figura 12.16. SWAT).
Será pedido um nome de usuário e senha; digite o usuário root e sua respectiva senha no servidor. A página inicial exibe links para a documentação referente ao Samba. As outras opções são bem simples, seguindo a linha da configuração do Webmin.
![]() | Nota |
|---|---|
O SWAT, por padrão, permite acesso apenas ao localhost; se você deseja acessá-lo de outra máquina, adicione o IP da máquina na linha only_from do arquivo /etc/xinetd.d/swat. Você pode adicionar quantos IPs desejar, colocando-os um ao lado do outro nesta linha, com um espaço entre cada um. | |
Você pode ter a necessidade de acessar um volume de uma máquina Windows® a partir do seu Conectiva Linux. Fazer isto não só é possível como é muito simples.
O processo deve ser feito através da linha de comando. Imaginando que você queira montar o disco C: da máquina estacao1, que foi compartilhado com o nome C, em seu diretório /mnt/estacao1 no Conectiva Linux:
# smbmount //estacao1/c /mnt/estacao1 |
Observe que em alguns casos (você está montando um volume de um servidor Windows® NT ou 2k, por exemplo) será necessário que você informe um usuário e uma senha para poder utilizar o comando smbmount.
# smbmount //estacao1/c /mnt/estacao1 -o \ username=usuario,password=minhasenha |
Isso funcionará se o usuário usuario estiver cadastrado na máquina estacao1 com a senha minhasenha.
Após configurar o seu servidor e iniciar o serviço SMB, utilize o Webmin ou o SWAT para exportar um diretório qualquer (/tmp, por exemplo). Em seguida, utilize o comando smbclient para tentar acessar, a partir do próprio servidor, o diretório exportado, da seguinte maneira:
# smbclient //meuservidor/diretorio |
O comando smbclient funciona como um cliente de FTP. Caso tudo esteja certo você deverá ser capaz de listar o conteúdo do diretório com o comando ls. Se isso não ocorrer verifique se o serviço está sendo executado e se o diretório foi exportado corretamente.
Após realizar o teste a partir do próprio servidor, experimente configurar um cliente Windows® e acessar o mesmo diretório utilizado no teste anterior. Caso você não consiga acessá-lo, verifique as configurações do cliente, e se ele está usando senhas criptografadas ou não.