O objetivo desse arquivo é demonstrar de maneira simples como montar um servidor Samba com PDC e perfil móvel. Depois de muita pesquisa chegamos ao resultado desse artigo para que todos que precisarem possam tirar o máximo proveito possível. Todos os créditos serão dados no final do artigo. Bom proveito!
O arquivo de configuração do Samba foi contribuído pelo nosso amigo H4ck-Du5t e fiz algumas modificações. Segue abaixo:
[global]
# Comentário sobre o Servidor.
comment = Servidor
# Host do Servidor.
netbios name = servidor
# Domínio que está sendo criado.
workgroup = placeredes
# Faz com que o usuário seja obrigado a autenticar no domínio diferente do (share) que seria apenas um compartilhamento.
security = user
# Faz com que as eleições sejam bem sucedidas.
os level = 100
# Aceita logon de clientes.
domain logons = yes
# Nome do script de logon.
logon script = %U.bat
# Referências do Controlador de domínio.
domain master = yes
local master = yes
preferred master = yes
time Server = yes # Encriptação de senha para o uso de clientes XP e 2K.
encrypt passwords = yes
keep alive = 20
debug level = 3
log file = /var/log/samba_log.%u
## Com essa linha, não será necessário cadastrar as Estações no SAMBA
[4] Comentário enviado por butters em 15/04/2011 - 10:47h
Muito obrigado pelos comentários e elogios, mas nada disso seria possivel sem a colaboração das pessoas citadas acima.
carlos007, segue o script na integra:
#!/bin/bash
###
### Marco Driemeyer <marco@titansware.com.br>
### 01/02/2011 - Atualizacao dos scripts de login
###
### Havendo alteracoes deve-se manter os creditos do autor
###
###
### Comentarios sao importantes... eu adoro comentarios...
###
###
### No inicio o script era vaziu...
### Entao foram criadas as funcoes...
###
###
### Funcao que verifica as dependencias
###
VERIFICADEPS()
{
# Limpa a tela
clear
# mostra mensagem
echo "Iniciando a verificacao das dependencias..."
# Verifica se o usuario que esta executando eh root
if [ "$(id -u)" != "0" ]; then
echo "Este script deve ser executado pelo usuario root!"
echo "Cancelando a execucao..."
exit 1 # sai com codigo de erro
fi
# verifica a existencia dos comando necessarios
local DEPENDENCIAS="ls unix2dos cat test"
for i in `echo "$DEPENDENCIAS"`; do
which $i 1>/dev/null 2>/dev/null # manda a saida para o buraco negro
if [ "$?" -ne "0" ]; then
echo "O comando $i nao foi encontrado."
echo "Tente instalar ele usando o yum..."
exit 1 # sai com codigo de erro
fi
done
# Verifica se o diretorio scripts existe
if ! test -d ./scripts ; then
echo "O diretorio scripts nao exite no atual diretorio!"
echo "Crie um diretorio chamado scripts e dentro dele um diretorio com o nome cada grupo."
echo "Dentro do diretorio do grupo crie o bat do grupo chamado script.bat."
echo "No diretorio do grupo crie um arquivo chamado usuarios e dentro dele coloque um usuario por linha."
echo "Apos isso, execute o script novamente!"
exit 1 # sai com codigo de erro
fi
# Verifica os grupos de usuarios
GRUPOS
# Verifica se esta tudo ok com os grupos
VERIFI_GRUPOS
# mostra saida e adiciona linha para dividir
echo "Dependencias verificadas com sucesso!"
echo ""
}
###
### Fucnao que verifica se esta tudo ok com os grupos
###
VERIFI_GRUPOS()
{
for i in `echo $GRUPOS`; do # caminha pelos grupos
if ! test -s ./scripts/$i/script.bat ; then # testa o script
echo "O arquivo ./scripts/$i/script.bat nao existe ou esta vaziu!"
echo "Dentro deste arquivo deve estar o script bat de login do grupo $i."
echo "Corrija isso e execute o script novamente!"
exit 1 # sai com codigo de erro
fi
if ! test -s ./scripts/$i/usuarios ; then # testa os usuarios
echo "O arquivo ./scripts/$i/usuarios nao existe ou esta vaziu!"
echo "Dentro deste arquivo deve estar o nome de cada um dos usuarios (um por linha) do grupo $i."
echo "Corrija isso e execute o script novamente!"
exit 1 # sai com codigo de erro
fi
done
}
###
### Funcao que retorna os grupos
###
GRUPOS()
{
GRUPOS=$(ls ./scripts) # lista os grupos
if test -z "$GRUPOS" ; then # Verifica nao existe nenhum grupo
echo "Nao existe nenhum diretorio de grupo dentro do diretorio scripts!"
echo "Dentro do diretorio scripts crie um diretorio com o nome cada grupo."
echo "Dentro do diretorio do grupo crie o bat do grupo chamado script.bat."
echo "No diretorio do grupo crie um arquivo chamado usuarios e dentro dele coloque um usuario por linha."
echo "Apos isso, execute o script novamente!"
exit 1 # sai com codigo de erro
fi
}
###
### Funcao que copia os bats para os usuarios
###
COPIABATS()
{
# mostra mensagem
echo "Iniciando a copia dos scripts bat de login..."
echo ""
for i in `echo $GRUPOS`; do # caminha pelos grupos
echo "Copiando o script bat de login do grupo $i."
for j in `cat ./scripts/$i/usuarios`; do # Caminha pelos usuarios
echo "Copiando o script de login do usuario $j."
cat ./scripts/$i/script.bat > ./$j.bat # copia com o cat
echo "Convertendo o script de login do usuario $j para o formato DOS."
unix2dos ./$j.bat 1>/dev/null 2>/dev/null # convete para o formato dos e manda a saida para o buraco negro
echo "Pronto!"
done
# linha em branco para dividir os grupos
echo ""
done
}
###
### Depois de criar as funcoes o script nao era mais vaziu, dai foram criadas as chamadas do script...
###
###
### Chama a funcao para verificar as dependencias do script
###
VERIFICADEPS
###
### Chamada da funcao que copia o script de login para cada um dos usuarios
###
COPIABATS
###
### Se tudo der certo sai com codigo de exito
###
exit 0
[7] Comentário enviado por yazanki em 02/02/2013 - 06:01h
Criei duas máquinas virtuais com o vmware. A primeira eu instalei o CentOS e defini duas interfaces pra ele, sendo uma NAT e outra HOST, a host por sua vez esta com o ip 192.168.40.130 q no caso seria a rede interna. A segunda maquina virtual, instalei o Windows XP e defini apenas uma interface sendo ela HOST e coloquei o ip 192.168.40.131. O problema é q não consigo adicioná-la no domínio, alguém poderia me explicar o que poderia está acontecendo???