Configurando com ntsysv

Como instalar e configurar servidor Samba CentOS com SELinux e Firewall (iptables)

Compartilhar uma pasta do Linux usando Samba é uma tarefa de extrema utilidade e relativamente simples, porém com o SELinux habilitado, precisamos dizer para ele que o Samba pode compartilhar aquele recurso na rede.

Este post dedica-se a mostrar como instalar, configurar o Samba e compartilhar uma pasta em uma instalação CentOS com Firewall (iptables) e SELinux habilitados.

  • Instale o pacote Samba com o comando abaixo:
  • yum install samba
  • Libera as portas de acesso do Samba, execute o comando abaixo:
  • system-config-securitylevel-tui

    Uma tela como esta a seguir, deve ser exibida, nela use o TAB para selecionar Personalizar e pressione [Enter]:
    Liberar Samba 1 - system-config-securitylevel-tui

    Ao selecionar Personalizar você deve estar em uma tela como esta abaixo, nela use o TAB para chegar até a opção Samba no campo Permitir entrada, depois use a Barra de Espaço para marcar Samba:

    Liberar Samba 2 - system-config-securitylevel-tui

    Para sair e salvar, use TAB e selecione OK, que você retornará para a tela anterior e nela selecione OK novamente para confirmar a configuração e sair.

  • Configurar para iniciar automaticamente o servidor Samba, para tal execute:
  • chkconfig --level 2345 smb on
  • Agora vamos definir os parâmetros workgroup, server string e security este último já deve estar correto no arquivo de configuração do Samba. Para isto execute o comando abaixo:
  • vi /etc/samba/smb.conf

    Os valores dos parâmetros citados devem ficar parecidos com estes abaixo, claro com exceção para o workgroup, onde você deve inserir o nome do seu grupo de trabalho e o server string a descrição do servidor:

    workgroup = COMPOSTA
    server string = Servidor Loja 90
    security = user

    Para sair do vi e salvar, use :wq.

  • Continuando a configuração, vamos criar uma pasta para compartilhar, no exemplo a pasta chama-se path_comum, você pode usar o nome que desejar:
  • mkdir /path_comum
  • Agora crie um usuário para acessar esta pasta, este usuário e senha serão utilizados para permitir o acesso ao compartilhamento quando este for acessado pela rede:
    adduser -M zanthus

    Defina uma senha para o sistema:

    passwd zanthus

    Defina uma senha para o Samba, sugiro usar a mesma do sistema:

    smbpasswd -a zanthus
  • Ajustando algumas permissões da pasta no sistema de arquivos:
  • chmod -Rf 765 /path_comum
    chown -R zanthus.zanthus /path_comum
  • Agora permissões do SELinux:
  • Grava a configuração do contexto:

    semanage fcontext -a -t samba_share_t "/path_comum(/.*)?"

    Faz valer as regras imediatamente:

    chcon -t samba_share_t /path_comum/
  • Volte a editar o arquivo de configuração do Samba para incluir no final do arquivo os parâmetros de compartilhamento da pasta. Insira o conteudo abaixo no final do arquivo smb.conf:

    Para editar utilize:

    vi /etc/samba/smb.conf

    Insira as linhas no final do arquivo:

    [path_comum]
            comment = Area comum dos PDVs Zanthus
            path = /path_comum
            writeable = yes
            valid users = zanthus
            public = no
            printable = no
            create mask = 0765
  • Por fim, inicie o serviço do Samba:
  • service smb start

Feito, se tudo correu bem você deve estar com um servidor Samba funcionando de modo seguro com um compartilhamento liberado para um determinado usuário.

Vídeo True Post.
Assista ao vídeo que testa este tutorial.