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.734 ]

Por: Joel Silva em 13/04/2011


Ajuste fino na configuração



Essa parte do artigo é onde podemos trabalhar ainda mais as permissões e alterações no login dos usuários.

Depois de ter configurado toda rede, surgiu a questão de ter que alterar as senhas dos usuários mensalmente por motivo de segurança. Como não são poucos usuários, fica difícil ter que fazer isso mensalmente. Por isso podemos mudar a configuração das senhas do Samba.

Exemplo:

Para que a senha expire em 30 dias, devemos usar o seguinte comando:

pdbedit -P "maximum password age" -C 2592000

Para que o usuário só possa mudar a senha após 25 dias depois da última troca:

pdbedit -P "minimum password age" -C 2160000

O tamanho mínimo da senha será de 6 caracteres:

pdbedit -P "min password length" -C 6

Mantém um histórico de senhas usadas pelo usuário para que ele não possa reutilizá-las. Neste caso ele não poderá utilizar as últimas duas senhas. Em conjunto com o "minimum password age" esta opção torna a política de senhas muito mais segura:

pdbedit -P "password history" -C 2

A senha de root não expira:

pdbedit -c "[X ]" -u root

Outro problema que poderão enfrentar é que o todo-poderoso root do Linux não tem acesso de administrador no Windows. Para isso devemos associar o root do Linux ao grupo de administradores do Windows. Fazemos isso através do seguinte comando:

# net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root

No meu caso, alguns usuários teriam que ter privilégios de administradores em suas estações, para isso podemos alterar a configuração acima com o seguinte comando:

# net groupmap modify ntgroup="Domain Admins" rid=512 unixgroup="GRUPO DESEJADO"

Isso é importante para a instalação de programas e alteração de data e hora nos computadores.

Bem, acho que é isso. Caso eu tenha esquecido algo eu faço uma segunda parte do artigo ou posto nos comentários.

Como fui extremamente ajuda por muitos para chegar a todo esse processo, espero que esse artigo seja útil para muitos, e sempre tenhamos em mente o seguinte: "COMPARTILHE", pois a mais felicidade em dar do que em receber.

Abraço a todos.

Créditos

Seguem as fontes citadas no artigo:
Página anterior    

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

Blockmail: um filtro de anexos de e-mail

Instalando o Slackware com suporte HT - SMP

Instalando e gerenciando programas no Linux

Leitura recomendada

Samba 4 + Bind 9 + Kerberos - Instalação e configuração

Administrando seu servidor Samba com o User Manager

Minimizando o delay de logon do Samba

Integração do Servidor Linux Samba com Active Directory do Windows Server

Howto Servidor Samba + ACL

  
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