Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Saiba mais sobre Linux, 302 (Ambientes Mistos): Configuração SWAT

Gerenciando Samba por meio de uma interface baseada na Web

Roderick W. Smith, Consultant and author
Roderick Smith author photo
Roderick W. Smith é consultor e autor de dezenas de livros sobre UNIX e Linux, incluindo The Definitive Guide to Samba 3, Linux in a Windows World e Linux Professional Institute Certification Study Guide. Ele é autor do software de particionamento GPT fdisk. Atualmente, Roderick reside em Woonsocket, Rhode Island.

Resumo:  Samba Web Administration Tool (SWAT) é uma ferramenta de administração baseada na Web para Samba, permitindo configuração em GUI a partir de qualquer computador com um navegador da Web. O SWAT é um servidor em si mesmo e, como todos os servidores, requer ao menos uma configuração mínima. Neste artigo, saiba como instalar e configurar o próprio SWAT para usá-lo no gerenciamento de Samba.

Data:  14/Out/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  2659 visualizações
Comentários:  


Sobre esta série

Esta série de artigos ajuda você a saber mais sobre as tarefas de administração de sistemas Linux. Também é possível usar o material desses artigos para se preparar para os exames de certificação do Linux Professional Institute nível 3 (LPIC-3).

Consulte o Roteiro do developerWorks para LPI-302 para ver uma descrição de cada artigo da série e um link para cada um desses artigos. O roteiro está em andamento e reflete os objetivos atuais (março de 2011) em relação aos exames LPIC-3. À medida que cada artigo é concluído, eles são adicionados ao roteiro.

Visão geral

Neste artigo, saiba mais sobre estes conceitos:

  • Visão geral dos recursos de Samba Web Administration Tool (SWAT)
  • Instalação e configuração do SWAT
  • Uso do SWAT para configurar o Samba

Este artigo é útil para preparar-se para o Objetivo 312.5 no Tópico 312 do exame (302) Especialidade do Ambiente Misto do Linux Professional Institute(LPI). O objetivo tem peso 4.


Pré-requisitos

Sobre o exame elegível LPI-302

O Linux Professional Institute Certification (LPIC) é como muitas outras certificações, pois também oferece certificações em níveis diferentes, e cada nível requer mais conhecimento e experiência que o anterior. O exame LPI-302 é um exame elegível especial no terceiro nível da hierarquia do LPIC, e requer um nível avançado de conhecimento de administração de sistemas Linux.

Para obter a certificação LPIC-3, é necessário passar nos dois primeiros exames do primeiro nível (101 e 102), nos dois exames do segundo nível (201 e 202) e no exame principal do LPIC-3 (301). Depois de alcançar esse nível, é possível fazer os exames elegíveis especializados, como o LPI-302.

Este artigo pressupõe que você tenha um conhecimento de trabalho das funções de linha de comando do Linux e um entendimento dos conceitos básicos da configuração do Samba. Você deve se familiarizar com a estrutura geral do arquivo de configuração smb.conf. Também deve entender como servidores em geral são executados, incluindo uso de scripts de inicialização System V (SysV) e superservidores.


Instalando e executando SWAT

No Samba versão 3.x, SWAT é um servidor separado dos outros dois servidores Samba principais, smbd e nmbd. Portanto, é preciso configurá-lo para executar separado do servidor Samba principal. Dependendo de como o Samba foi instalado, pode ser preciso instalar o SWAT separadamente também. Para maior segurança, pode-se configurar o SWAT para executar usando criptografia Secure Sockets Layer (SSL).

Observação: Samba 4, que ainda está em desenvolvimento, faz importantes alterações arquiteturais, incluindo importantes mudanças no SWAT. Este artigo descreve o estado do SWAT no Samba 3.x, que é a versão atualmente recomendada para ambientes de produção.

Desenvolva seu próprio feed

É possível desenvolver um feed RSS, Atom ou HTML customizado para receber uma notificação sobre a inclusão de novos artigos ou a atualização do conteúdo nesta série. Acesse Feeds RSS do developerWorks. Selecione Linux como zona e Articles como tipo, e digite Linux Professional Institute como palavra-chave. Em seguida, escolha o tipo preferencial de feed.

Instalando o SWAT

Se você desenvolveu o Samba a partir do código de origem, como descrito no Objetivo 311.1, SWAT deve ter sido desenvolvido por padrão e instalado junto com os outros componentes do Samba. A opção --disable-swat do configure faz com que o SWAT não seja compilado. Se deseja ativar explicitamente o SWAT, em vez de contar com o padrão, pode passar --enable-swat para configure.

Se você instalar o Samba usando um pacote binário fornecido pelo mantenedor da sua distribuição, verifique os pacotes para determinar como instalar o SWAT. Muitas distribuições oferecem um pacote chamado swat ou samba-swat que inclui o servidor SWAT. Esse pacote deve ser instalado separado dos pacotes Samba básicos. No entanto, pode ser instalado automaticamente. Use sua ferramenta do pacote para ver quais pacotes existem no seu sistema.

Se não localizar um pacote SWAT separado, ele pode ter sido instalado como parte de outro pacote Samba. O binário do SWAT é chamado, como seria de se esperar, de swat, portanto é possível procurar por esse arquivo de programa para ver se o SWAT está disponível no computador. Se você estiver usando o Gentoo Linux, note que é preciso definir swat como sinalizador USE ao usar emerge no pacote samba para desenvolver o SWAT.

Com o SWAT instalado, podemos passar agora à sua execução. SWAT foi projetado para ser executado por meio de um superservidor, tal como xinetd ou inetd. Como a configuração desses superservidores é muito diferente, eu as descrevo separadamente.

Executando SWAT com xinetd

A maioria das distribuições Linux hoje usa xinetd como superservidor. Se você não souber ao certo qual superservidor seu computador usa, tente usar ps para procurar pela cadeia de caractere inetd:

$ ps ax | grep inetd
17996 ?        Ss     0:00 /usr/sbin/xinetd -pidfile /var/run/xinetd.pid -stayalive -reuse

Nesse exemplo, xinetd está executando. Se a saída do ps mostrar um processo chamado inetd, siga as instruções na próxima seção, Executando SWAT com inetd. Se não houver um processo de superservidor executando, pode ser preciso instalar xinetd ou inetd.

O servidor xinetd usa um arquivo de configuração chamado /etc/xinetd.conf. Na maioria das instalações, esse arquivo contém configurações globais e requer os arquivos específicos do servidor no diretório /etc/xinetd.d. O arquivo de configuração do SWAT terá provavelmente o nome de /etc/xinetd.d/swat, e provavelmente será semelhante à Listagem 1.


Listagem 1. Arquivo de configuração SWAT de exemplo
	
service swat
{
        port            = 901
        socket_type     = stream
        protocol        = tcp
        wait            = no
        only_from       = localhost
        user            = root
        server          = /usr/sbin/swat
        log_on_failure += USERID
        disable         = yes
}

Seu arquivo padrão pode ser diferente em alguns detalhes, mas os pontos principais devem ser semelhantes. Se não houver um arquivo assim no sistema, é possível criar um ou incluir uma entrada definindo o serviço SWAT em /etc/xinetd.conf. A maioria das opções deve ter seu valor padrão mantido (no arquivo fornecido pela distribuição ou como mostrado no exemplo anterior); no entanto, pode ser necessário alterar algumas entradas:

  • A linha only_from define uma restrição de acesso. Nesse exemplo, xinetd permite acesso apenas a partir do computador no qual o SWAT é executado. Essa é uma precaução de segurança útil, mas, se você precisar administrar seu servidor Samba a partir de outro computador ou conjunto de computadores, pode especificar outros endereços. Vários tipos de endereços são aceitos. Consulte a man page do xinetd.conf para detalhes.
  • A linha server especifica o caminho completo para o binário SWAT. Verifique se o binário swat está nesse local.
  • A linha disable = yes diz ao xinetd que ele não deve iniciar o SWAT. É preciso alterar essa linha para disable = no para usar o SWAT.

O último ponto é de importância crítica: muitas distribuições enviam seus arquivos de configuração /etc/xinetd.d/swat com SWAT desativado por padrão, como medida de segurança. Os servidores também podem ser desativados por uma linha em /etc/xinetd.conf:

disabled = swat

Se você vir swat em uma linha assim, deve remover para iniciar o servidor.

Após fazer as alterações desejadas no /etc/xinetd.d/swat, é preciso dizer ao xinetd para recarregar seu arquivo de configuração. Na maioria das distribuições, isso pode ser feito passando a opção reload para o script de inicialização SysV do xinetd:

# /etc/init.d/xinetd reload

Após fazer isso, você pode começar a usar o SWAT. Mas se desejar ativar segurança SSL, deve ler a seção Ativando criptografia SSL.

Executando SWAT com inetd

Se você estiver usando inetd, o processo de configuração é semelhante ao do xinetd, mas vários detalhes críticos são diferentes. Como seria de se esperar, o arquivo de configuração do inetd se chama /etc/inetd.conf. Versões recentes do inetd suportam a divisão entre diferentes arquivos de configuração por servidor, assim como o xinetd faz, portanto pode haver um diretório /etc/inetd.d com arquivos de configuração separados.

Quer se use um arquivo /etc/inetd.conf único ou um arquivo de configuração /etc/inetd.d/samba, a entrada do Samba consiste em uma única linha:

swat  stream  tcp  nowait  root  /usr/sbin/tcpd  /usr/sbin/swat

Essa linha contém basicamente as mesmas informações que uma entrada do xinetd. O número da porta é determinado examinando o nome no começo da linha (swat) em /etc/services. A entrada /usr/sbin/tcpd nesse exemplo não tem equivalente na configuração do xinetd, pois essa entrada especifica o programa que o inetd executa quando um cliente tenta entrar em contato com o servidor. Nesse exemplo, inetd inicia TCP Wrappers (usando um arquivo de programa chamado /usr/sbin/tcpd). TCP Wrappers realiza suas próprias verificações de segurança e inicia o SWAT — ou seja, o programa especificado na entrada final da linha (/usr/sbin/swat).

Talvez haja uma entrada para o SWAT no arquivo /etc/inetd.conf que está comentada com um símbolo de grade na frente (#). Se houver, é preciso remover o comentário da entrada para ativar o SWAT. Após fazer isso e modificar a entrada de qualquer outra maneira desejada, diga ao inetd para recarregar seu arquivo de configuração. Isso pode ser feito da mesma maneira que se recarrega uma configuração do xinetd, como descrito anteriormente.

Ativando criptografia SSL

Como já descrito, uma configuração SWAT padrão não suporta criptografia. Não há problema nisso se o acesso ao host local tiver sido restrito, como na configuração do xinetd mostrada anteriormente, ou se restrições semelhantes forem implementadas usando TCP Wrappers. No entanto, se o SWAT for usado para acesso remoto, executá-lo sem criptografia significa enviar a senha raiz pela rede sem criptografia. Esse risco pode ser inaceitável, especialmente se for necessário usar o SWAT para configurar Samba a partir de um computador na Internet, e não de um na mesma sub-rede que o servidor Samba.

Para melhorar a segurança, é possível incluir criptografia SSL na configuração SWAT. Para isso, é preciso instalar software adicional e fazer alterações de configuração. O software necessário é OpenSSL e stunnel. A maioria das distribuições disponibiliza ambos os pacotes em seus bancos de dados de pacotes, portanto a instalação deve ser fácil.

Observação: Provavelmente é melhor configurar e testar o SWAT sem criptografia SSL primeiro. Dessa forma, você saberá que o servidor funciona da maneira esperada em sua configuração mais simples possível. Se houver problemas, é possível depurá-los e ter certeza de que a culpa não é da configuração do SSL. Quando tudo estiver funcionando, modifique sua configuração para usar a criptografia.

Após instalar os programas OpenSSL e stunnel, faça o seguinte:

  1. Se necessário, crie um usuário e grupo para stunnel.

    O pacote stunnel pode ter feito isso na instalação, portanto essa etapa pode não ser necessária.

  2. Gere um certificado SSL e chave privada, digitando o seguinte comando como raiz (em uma única linha):
    # openssl req -new -x509 -days 365 -nodes -out 
       /etc/stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem
    

    Serão solicitadas várias informações, tais como nome do host e endereço de e-mail. Observe que esse comando cria um certificado que expira em 365 dias, portanto será necessário repetir esta etapa em um ano.

  3. Modifique a propriedade do arquivo /etc/stunnel/stunnel.pem para que seja de propriedade do usuário e grupo stunnel criados na etapa 1.
  4. Crie ou modifique o arquivo /etc/stunnel/stunnel.conf.

    A Listagem 2 mostra um arquivo de configuração de amostra. Se o sistema já contiver esse arquivo, deixe a maioria das opções como estão, mas garanta que o arquivo tenha as três últimas linhas mostradas na Listagem 2, começando com [swat]. Essas linhas dizem ao stunnel como lidar com conexões SWAT — especificamente, stunnel ouve na porta 901 e passa tráfego decriptografado para a porta 902. Além disso, garanta que as linhas cert e key apontem para o arquivo de certificado gerado anteriormente.



    Listagem 2. O utilitário stunnel requer seu próprio arquivo de configuração
    	
    chroot  = /var/lib/stunnel/
    pid     = /stunnel.pid
    setuid  = stunnel
    setgid  = stunnel
     
    debug   = 7
    output  = /var/log/messages
     
    client  = no
    cert    = /etc/stunnel/stunnel.pem
    key     = /etc/stunnel/stunnel.pem
    
    # Accept SSL connections on port 901 and funnel it to
    # port 902 for swat. 
    [swat]
    accept   = 901
    connect  = 902
    

  5. Crie uma nova entrada do SWAT em sua configuração do xinetd ou inetd.

    Essa configuração deve ser igual a uma configuração não criptografada regular, mas deve ouvir na porta 902 e usar o nome swat-stunnel em vez de swat. Deve aceitar conexões apenas na interface do host local.

  6. Desative a configuração original do SWAT no xinetd ou inetd.
  7. Edite /etc/services:
    1. Duplique a entrada swat.
    2. Renomeie a duplicata como swat-stunnel.
    3. Altere o número da porta para 902.
  8. Em algumas distribuições, pode ser necessário editar /etc/default/stunnel4 para permitir que stunnel inicie. Em especial, altere a linha ENABLED de 0 para 1.
  9. Reinicie o superservidor.
  10. Inicie o stunnel.

    Isso pode geralmente ser feito de forma temporária digitando-se /etc/initd.d/stunnel start como raiz, mas, para executar o stunnel permanentemente, talvez seja preciso ajustar a configuração SysV.

Com essas alterações feitas, deve ser possível agora acessar o SWAT usando uma conexão criptografada especificando https:// em vez de http:// como o protocolo no navegador da Web. Observe que, da primeira vez que você conectar-se, o navegador provavelmente irá reclamar sobre o certificado não confiável, pois o certificado foi gerado por você mesmo. Aceite esse certificado.


Usando o SWAT

Após configurar o SWAT, pode-se começar a usá-lo. Ele pode ser acessado usando qualquer navegador da Web. Quando você entrar, será possível começar a usar o SWAT para gerenciar o servidor Samba.

Acessando o SWAT

Usando seu navegador da Web favorito no computador do servidor Samba, digite http://localhost:901 como o Localizador Uniforme de Recursos (URL); ou, se o SWAT tiver sido configurado para ser acessado por outros computadores, substitua o nome do host por localhost na URL usando qualquer computador que pode acessar o servidor. Se você houver configurado criptografia SSL, substitua https:// por http:// no começo da URL. Se você houver configurado o SWAT para aceitar logins a partir de outros computadores que não o host local, pode usar um navegador da Web em qualquer sistema operacional que desejar — Linux, Mac OS X, Windows e mais. É possível até mesmo usar um navegador em um telefone celular.

Quando você acessar o servidor pela primeira vez, o navegador da Web solicitará um nome de usuário e senha. Insira root como nome de usuário e a senha de raiz como a senha. Você verá em seguida a página principal do SWAT, como mostra a Figura 1.


Figura 1. A página principal do SWAT permite escolher dentre as opções do SWAT

Os botões logo abaixo do logotipo do Samba permitem configurar recursos específicos do Samba — a seção [global], compartilhamentos de arquivo, compartilhamentos de impressora e outros. Em geral, a configuração do Samba por meio do SWAT é autoexplicativa para quem já conhece a configuração do Samba por meio do arquivo smb.conf.

Se você rolar para baixo na página inicial do SWAT, encontrará links para a documentação do Samba. Essa documentação consiste em páginas man para os vários daemons Samba, arquivos de configuração, utilitários etc.

Examinando recursos do SWAT

Como exemplo de configuração do SWAT, clique em GLOBALS. A página é atualizada, mostrando as opções que podem ser configuradas na seção [global] do smb.conf, como mostra a Figura 2. Clique em Advanced se deseja ver mais opções obscuras. A visualização Basic padrão mostra apenas as opções mais comuns.


Figura 2. É possível definir opções usando formulários da Web em vários menus SWAT

Explore as opções disponíveis nesta página e tente alterar algumas. É preciso clicar em Commit Changes para inserir as alterações no arquivo smb.conf e recarregar a configuração.

Se clicar em SHARES ou PRINTERS, você terá a oportunidade de editar os compartilhamentos de arquivo e impressora, respectivamente. A interface é semelhante à da seção [globals], mas é preciso selecionar o compartilhamento que se quer editar a partir de um menu suspenso, e em seguida clicar em Choose Share. Também é possível criar um novo compartilhamento digitando seu nome em um campo de texto próximo ao botão Create Share, e em seguida clicar no botão.

Botões adicionais permitem realizar outras ações:

  • O botão WIZARD leva para uma página que permite realizar rapidamente algumas mudanças de configuração, tais como configurações de domínio comum.
  • O botão STATUS mostra o status atual do servidor Samba, por exemplo, quantas conexões ativas ele está gerenciando e quais arquivos ele está acessando. Também é possível iniciar, parar e reiniciar os servidores smbd, nmbd e winbindd.
  • O botão VIEW mostra o arquivo de configuração smb.conf atual.
  • O botão PASSWORD permite gerenciar usuários — alterar senhas, incluir usuários, excluir usuários e assim por diante. Isso pode ser feito na máquina local ou em outro servidor de Bloco de Mensagens do Servidor (SMB)/Common Internet File System (CIFS).

A maioria desses recursos está disponível apenas para o usuário raiz. As páginas HOME, STATUS, VIEW e PASSWORD podem ser acessadas por usuários ordinários, mas algumas opções não estão disponíveis para eles. Usuários ordinários provavelmente usarão mais a página PASSWORD, pois podem usá-la para alterar suas senhas.


Ressalvas sobre o SWAT

SWAT é uma ferramenta útil, mas não está isenta de limitações e problemas. A maior limitação do SWAT é o fato de não suportar a diretiva include, que pode ser usada no smb.conf para dividir uma configuração entre diversos arquivos, podendo incluir até diferentes arquivos de configuração para clientes diferentes. Se você usar essas configurações, SWAT será inadequado para você — ao menos para configuração de Samba. (Ainda seria possível implementar o SWAT para permitir que usuários alterem suas próprias senhas.)

A outra principal ressalva do SWAT é o fato de ser um risco de segurança. Para minimizar esse risco, é possível fazer com que ele aceite apenas logins do host local e, se for necessário login remoto, configurar para que use criptografia SSL, como descrito anteriormente. Mas, mesmo com essas medidas em efeito, qualquer servidor é um risco de segurança em potencial: o software pode ter erros que não foram descobertos, ou estar configurado de alguma forma errada. Você deve estar ciente desses riscos e tomar as medidas apropriadas, como usar TCP Wrappers, opções do xinetd ou regras de firewall do iptables para limitar o acesso ao computador. Quanto mais exposto o servidor estiver para a Internet, mais arriscada será a configuração.


Progredindo

O próximo tópico nesta série, LPIC-3 objetivo 312.6, aborda problemas de internacionalização em Samba, incluindo o uso de páginas de código e outras opções do Samba para suportar nomes de arquivo em línguas além do inglês em um servidor Samba.


Recursos

Aprender

Obter produtos e tecnologias

  • O Web site do stunnel oferece downloads e documentação deste programa.

  • O Web site do OpenSSL oferece downloads e documentação deste software.

Discutir

  • Participe da comunidade My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.

Sobre o autor

Roderick Smith author photo

Roderick W. Smith é consultor e autor de dezenas de livros sobre UNIX e Linux, incluindo The Definitive Guide to Samba 3, Linux in a Windows World e Linux Professional Institute Certification Study Guide. Ele é autor do software de particionamento GPT fdisk. Atualmente, Roderick reside em Woonsocket, Rhode Island.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=765344
ArticleTitle=Saiba mais sobre Linux, 302 (Ambientes Mistos): Configuração SWAT
publish-date=10142011