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!
e antes de executar no terminal, acesse o código usando o editor de sua preferência (vi adiciona_usuario) e localize a linha com a senha padrão para os usuários. A senha padrão original dos usuários criados pelo script é "S3nh4123". Essa é a primeira senha do usuário do Samba. Aqui eu alterei essa senha para "place", pois fica mais fácil de passar para os novos usuários do Samba.
Feito isso execute o script pela primeira vez e cadastre os usuários de maneira simples e rápida. Para cadastrar futuros usuários basta acessar o shell e digitar adiciona_usuario e fazer o cadastro dos mesmos, como diz o Iran, podem ser cadastrados 10, 20, 100 usuários numa única sessão, e o bom é que sempre mostra o último usuário criado, evitando assim que tentemos criar usuários já existentes.
Aqui nesse script já associamos o usuário ao grupo ao qual pertence.
[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???