Buscamos, no presente arquivo, apresentar um programa em linguagem shell script e interface em modo texto destinado a configurar um Servidor de Domínio Samba. Utilizamos os módulos do PAM para implementar uma política de acesso e exportação de compartilhamentos.
Algumas observações sobre a construção dos perfis podem ser feitas a partir da análise do bloco de código que implementa a função pdc:
pdc( ){
tput cup 0 19;
trap ' ' 2 3 15;
tput cup 10 12;echo "
####################################################################
PROGRAMA DE CONFIGURAÇÃO DE SERVIDOR DE DOMÍNIO LINUX - Versão 0.3.7
Autor: LOURIVAL ARAÚJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
####################################################################
1 - Criar o DOMÍNIO (PDC Samba)
2 - Criar Grupos no Servidor de Domínio
3 - Incluir usuário nos Grupos do Domínio
4 - Excluir usuário do Domínio
5 - Bloquear senha de usuário do Domínio
6 - Desbloquear senha de Usuário do Domínio
7 - Adicionar maquina ao Domínio
8 - Excluir maquina do Domínio
9 - Sair do programa de configuração
As funções de adição, exclusão e bloqueio de usuários formam o núcleo comum aos diversos perfis, enquanto a função de criação de domínio constitui o diferencial, pois implementa as configurações de compartilhamento necessárias ao Servidor de Domínio no arquivo smb.conf. E cria os diretórios necessários ao funcionamento do PDC (netlogon e profile).
A função que cria o domínio será compartilhada pelos perfis pdc e cds. E a função valor_invalido será compartilhada por todos os perfis, com a seguinte estrutura:
valor_invalido(){
clear
tput cup 17 18;echo "Valor inadequado. Digite um valor valido. "
sleep 2
continue
}
Incluímos na função cria_dominio, que especifica as condições de funcionamento do Servidor considerado, o controle de origem e de horário de acesso, a fim de deixar o programa em conformidade as práticas de segurança recomendadas pelas normas de referência:
cria_dominio(){
echo -n "Digite um nome de Domínio: " # criar o domínio de logon
read dominio
echo -n "Digite o nome do Servidor: "
read servidor
echo -n "Digite o nome da conta do Administrador do Servidor Samba (root): "
read admin
echo -n "Digite a Rede do Servidor (192.168.0.0/16): "
read rede
sudo smbpasswd -a $admin
echo "Configurando o horário de acesso ao Servidor..."
echo "
login;*;*;Wd0800-1800 & !SaSu0000-2359
ssh;*;*;Wd0800-1800 & !SaSu0000-2359
">/tmp/time.conf
sudo cat /tmp/time.conf >>/etc/security/time.conf
}
Apenas por uma questão de aproveitamento de código, mantivemos as linhas relacionadas ao winbind, que são necessárias somente ao perfil cld, que incorpora as funções de Cliente de Domínio.
[2] Comentário enviado por downloadd em 05/12/2008 - 10:13h
Olá Araujo...
Notei que você manda bem no assunto SAMBA, pois você já contribuiu com vários artigos sobre o samba, e por isso, gostaria de te fazer uma pergunta.
Eu uso samba+Ldap e se eu trocar a senha de root do linux, não consigo mais acessar o Ldap como root, nem se eu voltar a senha antiga do root. Por conta disso, não consigo mais incluir os usuários do samba no grupo "Domain Admins".
Detalhe que o restante continua funcionando normal; logins no linux, samba, squid... tudo normal, só esta questão mesmo que não sei como resolver.
Você poderia me ajudar? -> luiz.rissi at gmail.com
[4] Comentário enviado por araujo_silva em 07/12/2008 - 18:23h
Caro calaff2
Estou aguardando a publicação no VOL do script incluido na seção linux/shell-script/avançado.
Caso não eseja livre até o dia 09 eu o envio diretamente para você.
[5] Comentário enviado por araujo_silva em 07/12/2008 - 18:42h
Companheiro downloadd
Caso você esteja utilizando as ferramentas do smbldap-tools, modifique a senha utilizando a ferramenta "smbldap-passwd root" ao invés de utilizara "passwd root".
Não sei como estão configurados os arquivos /etc/nsswitch.conf, nem a prioridade que o arquivo /etc/pam.d/login atribui aos usuários do domínio e aos usuários locais. Esses arquivos vão determinar quais bases serão consultadas prioritariamente.
Faça consultas recursivas na árvore do ldap, antes e depois de alterar a senha do root:
# ldapsearch -x
Verifique se o parâmetro "ldap passwd sync = Yes" está presente no seu arquivo de configuração do samba (/etc/samba/smb.conf).
[6] Comentário enviado por spartac0s em 08/12/2008 - 10:42h
Ola Araujo.
Seu script ficou muito. parabens, mais estou com uma duvida aqui não estou sabendo como salvar os arquivos.
O gerenciamento de perfis salvei como ComSamba.sh
agora os outros PDC, SRV E CDS eu nao estou sabendo com qual o nome salvar. e e que local. se vc poder me responder agradeço muito obrigado.
[7] Comentário enviado por araujo_silva em 08/12/2008 - 14:54h
Blz spartac0s
O programa inteiro está na fila de liberação, na seção /linux/scripts-shell/avançado, aqui no VOL. É que é muito grande para incluir no arquivo, cerca de 1000 linhas. Está inscrito com o nome consamba.sh. Caso demore posso enviar pro seu e-mail a partir de amanha.
[10] Comentário enviado por araujo_silva em 19/12/2008 - 15:45h
downloadd
peço que verifique se apos as sugestoes sobre a alteração no nsswitch.conf e login houve alteração no comportamento da altenticação. E informe se a senha que esta sendo trocada esta sendo atualizada no paramentro "rootpw" do arquivo de configuração do cliente ldap
[11] Comentário enviado por aantunes em 17/06/2009 - 17:25h
Alguem sabe me informar como faço para configurar o novo pam_mount.conf.xml?
O que acontece, já configurei varias volumes para mount. só que ele não está validando o grupo segue o pedaço do arquivo
[12] Comentário enviado por araujo_silva em 11/07/2009 - 12:01h
Caro aantunes,
1. primeiro deve haver os seguintes compartilhamentos , localizados no home de cada usuario: 'users','publica','sistemas','teleatend','iq2000','telelistas';
2. substitua o nome do grupo 'l_juridico' pelo 'id', no parâmetro 'options' de cada volume;
3. salvo se você tiver um concentrador de domínio (ldap), com servidores distribuídos, não haverá como mapear dois conjuntos de compartilhamentos originados em 'admfile1' e 'tmkdc1', pois o pam_mount irá montar os compartilhamentos a que tiver acesso no login do usuário;
4. substitua pela configuração abaixo, ajustando conforme sua necessidade:
<!-- usuarios do grupo l_juridico -->
<volume sgrp="l_juridico" fstype="smbfs" server="admfile1" path="users/%(USER)" mountpoint="/home/%(USER)/users" />
<!-- usuarios do grupo l_juridico -->
<volume fstype="smbfs" server="admfile1" path="users/%(USER)"
mountpoint="/home/%(USER)/users" options="uid=%(USER),gid=1001,dmask=0711,workgroup=DOMINIO" />
[14] Comentário enviado por aantunes em 02/10/2009 - 18:14h
Lourival,
Obrigado pela ajuda. O projeto morreu, pois a empresa tem muito muito sistema Windows, sites feitos em asp.
Mas assim que tiver oportunidade estarei fazendo esse teste.