Vamos criar um storage integrando Samba com AD!!!
outubro 4, 2009
Como sempre people este post é dedicado a ele DJ lukan ou Baiano para os mais intimos.
QUERIA AGRADECER AS 500 VISITAS DE IP DIFERENTES E AOS COMENTÁRIOS DOS COLEGAS DO MUNDO DO SOFTWARE LIVRE O MEU MUITO OBRIGADO !
Vamos criar um storage integrando Samba com AD !!!
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.
### Inicio do arquivo –>
[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.
### Fim do Arquivo smb.conf<—–
Nesse momento precisamos também criar o arquivo script.sh com o seguinte conteúdo.
### Inicio do arquivo script.sh –>
#!/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.
### Fim do Arquivo script.sh <—–
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
É simples assim povo, procure o servidor e mapeas as unidades através do IP ou HOSTNAME do mesmo no windows do cliente, ainda você pode personalizar criandos vários diretórios e dividindo por deptos. Lembre-se que o controle de acesso é feito pelo Samba ok. Você define isso no Valid User´s. O AD apenas autentica tornando a vida do usuário mais Fácil não sendo obrigado ele a digitar senha pra se logar no windows e outra para ele acessar os arquivos guardados no FREEBSD.
Danilo Silva
Atua na Àrea de informática a 15 anos, trabalha com software livre a 8 anos.
Gerente de Infra de uma grande empresa, cuida hoje de 30 servidores diretamente e indiretamente mais de 100 servidores. Todos com tecnologia SL, desenvolvedor da distro brasileira NIMBUSBRAZUCA. Desenvolvedor do MSW Suite para N.O.C.
Ajustando Data e Hora do FreeBSD
junho 30, 2009
Pessoal ,
Achei alguns post´s na NET mais todos mandando usar o comando NTP. Nada disso funcionou e continuei com a data errada no servidor. Ai começou o dilema de apanhar para configurar a data errada XD 🙂 !
tentei os comando abaixo sem sucesso:
# ntpdate -d ntp.usp.br
#ntpdate ntp.usp.br
Foi quando eu resolvi usar o bom e velho sysinstall, apenas digite :
# sysinstall
Selecione a opção configure (aquela opção pós install) , depois time zone e quando chegar aqui você escolhe sua região. Pronto data e hora certinha !!!
Espero ter ajudado mais uma vez, tem horas que vc apanha de coisas simples
Danilo Silva
Atua na Àrea de informática a 15 anos, trabalha com software livre a 8 anos.
Gerente de Infra de uma grande empresa, cuida hoje de 30 servidores diretamente e indiretamente mais de 100 servidores. Todos com tecnologia SL, desenvolvedor da distro brasileira NIMBUSBRAZUCA. Desenvolvedor do MSW Suite para N.O.C.