Servidor Samba "Autoservice"

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.

[ Hits: 32.717 ]

Por: lourival araujo da silva em 04/12/2008


Analisando o perfil cds



O perfil misto possui as capacidades de PDC e Servidor de Arquivos. Apresenta a configuração necessária ao gerenciamento de uma rede que comporta máquinas mais robustas e velocidades de processamento maiores. Assim o Servidor pode disponibilizar acessos a diretórios compartilhados e administrar a política de segurança da organização considerada.

Incluímos as funções de criação de compartilhamentos públicos e restritos. Os compartilhamentos públicos com acesso de leitura e escrita para todos, e os compartilhamentos restritos com a possibilidade de escrita somente para o grupo proprietário, e leitura opcional para os demais (à critério do administrador do domínio).

cds(){
tput cup 10 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 SERVIDOR DE DOMÍNIO E ARQUIVOS (PDC Samba)
      2 -  Criar o Diretório dos Compartilhamentos no SERVIDOR
      3 -  Criar Grupos e Compartilhamentos Restritos
      4 -  Criar Compartilhamento Publico
      5 -  Incluir usuário nos Grupos do Domínio
      6 -  Excluir usuário do Domínio
      7 -  Bloquear senha de usuário do Domínio
      8 -  Desbloquear senha de Usuário do Domínio
      9 -  Adicionar conta de maquina ao Domínio
      10 - Excluir maquina do Domínio
      11 - Sair do programa de configuração

      ####################################################################
      ####################################################################

"
echo -n "      Digite a opcao de configuração desejada: "
read opcao
   case $opcao in
   1) cria_dominio
;;
   2) cria_base
;;
   3) cria_grupo
;;
   4) cria_publico
;;
   5) inclui_usuario
;;
   6) exclui_usuario
;;
   7) bloqueia_usuario
;;
   8) desbloqueia_usuario
;;
   9) adiciona_maquina
;;
   10) exclui_maquina
;;
   11) clear
       continue
;;
   *) valor_invalido;
;;
   esac
}

A função de adição de máquina refere-se apenas à criação da conta de máquina no Servidor, e não à ação de juntar a máquina ao Domínio (função incluída no cliente de domínio). Como observamos no código correspondente:

adiciona_maquina(){ # Inclui conta de maquina no Domínio
   echo -n "Digite o nome da maquina a ser incluída no Domínio: "
   read nome
   maquinas="$(grep maquinas /etc/group |cut -d: -f1)"
   if [ ! $maquinas ];then
      sudo groupadd maquinas
   fi
   if( ! (grep $nome /etc/passwd ) );then
      sudo useradd -s /bin/false -d /dev/null -g maquinas $nome$
      sudo passwd -l $nome$
      smbpasswd -a -m $nome
      echo "criada conta de maquina no domínio."
      sleep 4
      continue
   else
      echo "maquina $nome já cadastrada anteriormente."
      sleep 8
      continue
   fi
}

Consideramos que o código ainda comporta otimização, mas encontra-se funcional.

Página anterior     Próxima página

Páginas do artigo
   1. Traçando rotas
   2. Gerenciando perfis
   3. Criando o perfil pdc
   4. Verificando o perfil srv
   5. Analisando o perfil cds
   6. Exportando recursos
Outros artigos deste autor

Autenticação via hardware: o módulo pam_usb

Bom escudo não teme espada: o módulo pam_cracklib

Cliente "automágico" Linux logando no domínio NT/Samba

Autenticação via hardware: o módulo pam_blue

webCalendar: a agenda e o PAM

Leitura recomendada

Nmap - Comandos úteis para um administrador de sistemas Linux

13 dicas de segurança para o Apache

Capturando e-mails da rede com Mailsnarf

Inprotect + Nessus: Scanner de vulnerabilidades

Tomcat + SSL: HOW-TO

  
Comentários
[1] Comentário enviado por Rhods23 em 04/12/2008 - 23:00h

Meu amigo, só tenho uma palavra a dizer: PERFEITO. :D

[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

Abraço e parabéns!

[3] Comentário enviado por calaff2 em 06/12/2008 - 13:11h

Man manda os script para meu email! para eu testar aqui em casa ! calaff2@hotmail.com

Show de bola nota 10000000000000000 :)

[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ê.

abraços

Araujo

[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).

abraço

araujo

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

Abraços

Araujo

[8] Comentário enviado por downloadd em 10/12/2008 - 18:03h

Olá Araujo, sou eu novamente...

Sei que aqui não é o melhor lugar para se tratar do meu problema, afinal é um assunto off-topic, mas postei como pergunta e não tive ajuda nenhuma.

Respondendo:
Sim eu estou usando o smbldap-tools.
Não cheguei alterar os arquivos /etc/nsswitch.conf e /etc/pam.d/login

Já tentei mudar a senha daquela forma que você passou mas mesmo assim, nunca mais consigo logar como root no ldap.

Sim o parâmetro esta presente no arquivo do samba.

Eu segui este tutorial para instalar o Ldap e o samba.
http://www.howtoforge.com/openldap-samba-domain-controller-ubuntu7.10

Tenho que alterar algo nos arquivos /etc/nsswitch.conf e /etc/pam.d/login ?
valeu

[9] Comentário enviado por dfsantos em 19/12/2008 - 15:22h

"downloadd" tente alterar o arquivo /etc/nsswitch.conf para efetuar consulta primeiramente no ldap.. boa sorte

[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

abraço

araujo

[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

<!-- usuarios do grupo L_Asscomercial -->

<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="users/%(USER)" mountpoint="/home/%(USER)/users" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="publica" mountpoint="/home/%(USER)/publica" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="sistemas" mountpoint="/home/%(USER)/sistemas" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="teleatend" mountpoint="/home/%(USER)/teleatend" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="admfile1" path="iq2000" mountpoint="/home/%(USER)/iq2000" />

<!-- usuarios do grupo L_Juridico -->

<volume sgrp="l_juridico" fstype="smbfs" server="admfile1" path="users/%(USER)" mountpoint="/home/%(USER)/users" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="publica" mountpoint="/home/%(USER)/publica" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="sistemas" mountpoint="/home/%(USER)/sistemas" />
<volume pgrp="l_juridico" fstype="smbfs" server="tmkdc1" path="teleatend" mountpoint="/home/%(USER)/teleatend" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="iq2000" mountpoint="/home/%(USER)/iq2000" />
<volume pgrp="l_juridico" fstype="smbfs" server="tmkdc1" path="telelistas" mountpoint="/home/%(USER)/telelistas" />

[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" />

5. gostaria que informasse o progresso do ajuste.

abraços,

lourival

[13] Comentário enviado por aantunes em 02/10/2009 - 18:09h

Lourival,

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


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts