For a english version, please click here.

Descrição

FAUS significa "Ferramenta de Administração de Usuários do Samba" e é um CGI escrito em Perl para permitir a administração de usuários via uma interface web.

O Samba já possui uma ferramenta de administração do servidor de uma forma geral, incluindo de usuários, conhecida como SWAT. Assim, como o FAUS, o SWAT é um CGI que responda a requisições via navegador.

No entanto, o SWAT é muito limitado nas operações de administração de usuários. Na realidade, o SWAT só é capaz de lidar com os usuários residentes no arquivo smbpasswd. Na época em que eu criei o FAUS, eu tive alguns problemas referentes a essa limitação, uma vez que os usuário devem ser adicionados primeiramente em /etc/passwd e DEPOIS no arquivo smbpasswd.

Outro inconveniente do SWAT é ele trabalhar apenas com o usuário root: você deve fornecer a senha deste usuário para conseguir administrar o servidor Samba. Este problema pode ser agravado se for considerado que o SWAT não fornece nenhum tipo de criptografia sozinho. A criptografia pode ser obtida se for utilizado ferramentas como SSH ou SSL para canalizar o tráfego de dados, mas esse processo não é flexível e nem simples de implementar.

Facilidades

Atualmente o FAUS possui estas facilidades:

  1. Adicionar usuários nos arquivos /etc/passwd e smbpasswd para administrar usuários com uma só ferramenta e de maneira transparente;
  2. o uso de root para administrar usuários é desnecessário: todas as operações são executadas pelo usuário do servidor Apache (normalmente apache ou www) e as operações executadas por esse usuários são controladas pelo Sudo;
  3. Uma vez que seja implementado como CGI, pode-se utilizar formas de autenticação fornecidas pelo servidor web. No caso do Apache, se tem opção de utilizar autenticação básica ou por "digest mode" e ainda utilizar criptografia através de SSL.
  4. Suporte a multilíngua (atualmente inglês, espanhol e português do Brasil): a inclusão de novas línguas apenas pedem a criação de um arquivo texto com as mensagens devidamente traduzidas.
  5. Suporte à log de todos os erros em /var/log/httpd/erros.log, usando o mesmo formato do Apache.
  6. Pode-se optar, ao remover o usuário, remover o diretório home dele ou não.

Facilidades que deverão ser inclusas em versões futuras

  • upload de lista de usuários: isso irá permitir operações em massa como adicionar 50 usuários de uma vez no sistema
  • gráficos para mostrar a relação entre usuários habilitados/desabilitados, etc
  • controles em Javascript para melhorar a interface e fazê-la mais rápida (mas o CGI continuará checando por error de qualquer forma)
  • utilizar FastCGI ou mod_perl para tonar o FAUS mais rápido

Requerimentos

  • Um webserver
Em todos os testes que eu executei, inclusive no desenvolvimento do CGI,eu utilizei o Apache. Teoricamente o CGI funcionará em qualquer servidor web, no entanto eu vou me restringir apenas ao Apache, por ser uma das melhores soluções para sistemas clones do UNIX. Caso você teste com sucesso em outro servidor web, por favor me informe! Você pode encontrar informações sobre o Apache no seu website (http://www.apache.org). No entanto, na documentação do FAUS eu estarei indicando configurações básicas para o uso do CGI.

  • Sudo
O Sudo irá fornecer as permissões necessárias para que o usuário do Apache possa executar as tarefas como se fosse root. As funções que o mesmo pode executar são controladas por este software, que restringe os comandos que podem ser executados por este usuário. Os comandos a serem executados por este usuário são mais nada do que os programas (já há muito conhecidos) useradd, userdel e smbpasswd. Esses comandos, no entanto, NÃO são executados diretamente: scripts em Perl fazem chamadas para esses programas, passando os parâmetros extritamente necessários para que as operações sejam executadas, e filtrando os parâmetros usuário e senha para que não sejam fornecidos dados maliciosos. O Sudo é extremamente necessário para o funcionamento do FAUS. Maiores informações sobre o programa podem ser encontradas em http://www.sudo.ws/sudo

  • Samba 
O Samba deve estar instalado na mesma máquina que o FAUS, obrigatoriamente. Maiores informações podem ser encontradas em http://www.samba.org.

O FAUS foi desenvolvido para trabalhar com instalações do Samba aonde se tenha no máximo 250 usuários: para instalações com um número de usuários maior do que isso, o uso do FAUS não é recomendado.

Isso se deve muito mais ao fato do próprio time de desenvolvimento do Samba recomendar fortemente que se utilize a base de dados de usuários num servidor LDAP (ldapsam) ao invés do arquivo smbpasswd ou do tdbsam. O FAUS atualmente suporta base de dados smbpasswd e, futuramente, tdbsam. Não existe atualmente nenhuma intenção de fazer o FAUS suportar o ldapsam: já existem ferramentas liberadas sobre licença GPL que oferecem esse recurso e já se encontram estáveis. Se você precisa dessa funcionalidade, procure na seção "Gui Tools" no site oficial do Samba para obter maiores detalhes.

Configuração

A documentação completa do FAUS pode ser encontrada aqui. Ela está disponível em HTML e PDF e em diversas línguas.

Screenshots

Alguns screenshots do FAUS em ação!

Download

O FAUS é liberado sob a licença GPL e você pode fazer o download do FAUS em por aqui: http://sourceforge.net/projects/faus.

Support This Project

CUIDADO!
O FAUS ainda deve ser considerado como software BETA. Você não deve testá-lo em sistemas em produção. Caso sinta-se seguro em fazê-lo, ao menos faça backup dos arquivos /etc/passwd e smbpasswd. Você foi avisado!

Agradecimentos


Eu gostaria de agradecer o Ivan Alejandro Mirón Amador (mad_smart (at) hotmail.com) pela tradução do FAUS para espanhol.

Meu obrigado também para Derliz Diaz (ddiaz (at) grupoied.com) por traduzir o manual do FAUS para o espanhol.

O design do logotipo do FAUS foi criado e gentilmente cedido por Alessandra Fustinoni Camargo (aleflcamargo (at) terra.com.br). Obrigado Alê!

Gostaria também de agradecer a todas as pessoas que enviaram emails reportando bugs e sugestões de melhorias para o FAUS.

Contato

Caso encontre bugs ou pense em alguma facilidade interessante no FAUS, por favor entre em contato pela lista de discussão do FAUS

.
Programming Republic of Perl SourceForge Logo Valid HTML 4.01!