Esse HOW-TO, tem como finalidade auxiliar na criação de um Stogare em FreeBSD com o "SAMBA", ou seja, no cenario proposto nesse HOW-TO, temos um Servidor (AD) Windows 2003, com varios usuários logando no mesmo, só que precisamos ter uma area de compartilhamento comun ou pessoal, ai que vamos utilizar o Samba. Todos os usuário terão acesso ao Storage, de modo simples e transparente para o usuário.
Configuração do SAMBA com autenticação do Ad (Active Directory). Após Instalação do FreeBSD 7.1, vamos atualizar a arvore ports com o comando #portsnap fetch && portsnap extract && portsnap update Instalar o Samba Diretório do Samba versão 3 #cd /usr/ports/net/samba3 Configurando algumas opções no Samba. #make config WITHOUT_ADS=Yes #Suporte e Integração com AD WITH_SYSLOG=Yes #Integração com o Syslog WITH_WINBIND=Yes #Mapeamento do usuário do AD no Samba WITH_EXP_MODULES=Yes #Módulos experimentais WITH_PAM_SMBPASS=Yes #Modo PAM de autenticação WITH_ACL_SUPPORT=Yes #Suporta a ACL O comando logo abaixo ira compilar, instalar e limpar o diretório #make install clean Após a conclusão dos processos de instalação vamos configurar o Samba. Vamos realizar um backup do arquivo padrão. #cp /usr/local/etc/smb.conf /usr/local/etc/smb.conf.bkp Agora vamos editar algumas configurações #vi /usr/local/etc/smb.conf No arquivo de configuração do Samba vamos configurar de seguinte forma. [global] workgroup = TESTE #Grupo de trabalho do Windows server string = Samba Server #Comentário sobre o Servidor security = DOMAIN #Modo de autenticação pelo DOMAIN log file = /var/log/samba/log.%m # max log size = 50 wins server = server1.teste.com ldap ssl = no idmap domains = TESTE idmap config TESTE:backend = rid # idmap config TESTE:default = yes idmap config TEST:base_rid = 0 idmap config TESTE:range = 10000-20000000 template homedir = /usr/%D/%U #Pasta padrão do home dos usuário. O %D é o domínio que no nosso caso é o TESTE e o %U é o usuário. winbind use default domain = Yes winbind separator = + #Modo como o Winbind vai utilizar para separar o domínio do usuário. [homes] comment = Home Directories path = /usr/%D/%U #Local de armazenamento do Home do usuário valid users = %U #Validar a pasta home com o usuário browseable = No #Não mostrar a pasta a não ser para o usuário dono read only = No create mask = 0640 directory mask = 0750 root preexec = /root/script.sh %U #Script para criar o home automático, ou seja, caso a pasta /usr/TESTE/teste não exista ele cria automático sem a necessidade de criar uma a uma. Nesse momento precisamos também criar o arquivo script.sh com o seguinte conteúdo. #!/bin/sh user=$1 if [ ! -d "/usr/TESTE/$user/" ] ;then mkdir -p "/usr/TESTE/$user/.winprofile" chown -R $user "/usr/TESTE/$user" chmod -R 0700 "/usr/TESTE/$user" fi Esse script recebe o usuário e faz a checagem para criar o home ou não bem simples. [contas] path = /usr/TESTE/contas #Pastas contas browseable = Yes #Mostrar no ambiente de rede do Windows read only = no valid users = @TESTE+contas #A validade desta pasta será quem estiver no grupo contas, ou seja, o domínio TESTE tem um grupo chamado contas e quem faz parte desse grupo terá acesso a está pasta. Após realizado as configurações no arquivo smb.conf, vamos habilitar para o SAMBA inicializar quando o FreeBSD vou reiniciado. Editar o arquivo rc.conf. #vi /etc/rc.conf Adicionando ao final do arquivo essas linhas #Samba nmbd_enable="YES" smbd_enable="YES" winbindd_enable="YES" Salvar o arquivo. Agora vamos criar a pasta do domínio. #mkdir /usr/TESTE E a pasta publica #mkdir /usr/TESTE/contas Agora vamos iniciar o Samba com o seguinte comando. #/usr/local/etc/rc.d/samba start Agora vamos adicionar o Servidor FreeBSD como membro do domínio. #/usr/local/Bin/net rpc join –S server1.teste.con –U Administrator Nesse momento vai ser solicitado para digitar a senha do usuário Administrator. Caso tenha engraçado no AD será exibido uma mensagem Joined domain TESTE. Agora vamos editar o arquivo de nsswitch.conf para que os usuários do AD possam ser autenticados. Antes realizar uma copia do arquivo. #cp /etc/nsswitch.conf /etc/nsswitch.conf Agora vamos deixar o arquivo com os seguintes parâmetros. group: files winbind group_compat: nis hosts: files dns networks: files passwd: files winbind passwd_compat: nis shells: files services: compat services_compat: nis protocols: files rpc: files Pronto com essas configurações os usuários já estarão acessando o Servidor de arquivo, ou seja, os usuário do Windows estarão acessando os arquivos no servidor FreeBSD. Referências http://joseph.randomnetworks.com/archives/2005/11/08/freebsd-users-and-groups-with-samba-winbind-and-active-directory/ http://www.freebsd.org/doc/en/books/handbook/quotas.html http://www2.unijui.tche.br/~heini/freebsd/quota.html |