Slackware 13 com Samba PDC completo

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!

[ Hits: 33.311 ]

Por: Joel Silva em 13/04/2011


Criar usuários e grupos



Aqui demonstrarei como criar grupos e usuários e associá-los. Temos nessa área dicas importantes de nossos colaboradores do VOL e outros grupos.

Como iremos fazer uso de um script em shell para cadastrar os usuários e definir os grupos, vamos primeiro criar todos os grupos que terá na empresa:

# groupadd nomedogrupo

Aqui deverão ser cadastrados os grupos da empresa, como: diretoria, departamento, administrador. Com certeza não terão problemas ao criar os grupos.

Agora para criar o usuário, uma maneira bem simples de se fazer isso é usando um script feito pelo nosso amigo Iran Macedo (http://www.vivaolinux.com.br/script/Adicionando-automagicamente-usuarios).

Faça o download do script: arquivo adiciona_usuario

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.

Página anterior     Próxima página

Páginas do artigo
   1. Configuração do Samba - smb.conf
   2. Criar usuários e grupos
   3. Adicionando o Windows no domínio, netlogon e scripts
   4. Ajuste fino na configuração
Outros artigos deste autor

Instalando o Slackware com suporte HT - SMP

Instalando e gerenciando programas no Linux

Blockmail: um filtro de anexos de e-mail

Leitura recomendada

Montando um PDC com OpenBSD

Sobre WINS (Windows Internet Name Service)

Samba + Windows XP (perfil móvel)

Samba PDC com Debian Squeeze

Instalando um PDC Samba no Debian

  
Comentários
[1] Comentário enviado por SuperSlackware em 14/04/2011 - 13:42h

Vlw cara era isso mesmo que eu estava precisando..

Slack na Veia.

(Ô\_!_/Ô)

[2] Comentário enviado por carlosalberto4ti em 15/04/2011 - 09:26h

nao esta sendo possivel baixar o script

[3] Comentário enviado por joao@transjori em 15/04/2011 - 09:52h

Cara!!!!

Simplesmente Fantástico... a solução dos meus problemas.

Abraços

[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

[5] Comentário enviado por rodrigo.kiyoshi em 18/04/2011 - 11:10h

Parabéns pelo tutorial, muito bom.

Uma dica: na ausência do unix2dos, use o sed.

De:
unix2dos ./$j.bat 1>/dev/null 2>/dev/null # convete para o formato dos e manda a saida para o buraco negro

Para:
sed -i 's/$/\r/' ./$j.bat 1>/dev/null 2>/dev/null # convete para o formato dos e manda a saida para o buraco negro


Abraços.

[6] Comentário enviado por qxada07 em 06/05/2011 - 08:34h

1000°

Parabéns

[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???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts