Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.113 ]
Script para configuração de clientes de autenticação LDAP no domínio chamado TESTE.
#!/bin/bash # --------------- permissões do /home chmod 755 /home echo -e "Verifica se o pacote \"openldap-clients\" está instalado...\n" PACOTE=`rpm -qa |grep openldap-clients` if [ "$PACOTE" == "" ]; then echo -e "Pacote \"openldap-clients\" não instalado! Aguarde instalação...\n" yum install dialog fi VER=`grep "ldap.ditec" /etc/openldap/ldap.conf` if [ "$VER" == "" ]; then echo "HOST ldap.ditec.dpf.gov.br" >> /etc/openldap/ldap.conf echo "BASE o=dpf" >> /etc/openldap/ldap.conf echo "TLS_CACERT /etc/pki/tls/certs/ca.crt" >> /etc/openldap/ldap.conf fi echo -e "Verifica se o pacote Dialog está instalado...\n" PACOTE=`rpm -qa |grep dialog-1` if [ "$PACOTE" == "" ]; then echo -e "Pacote Dialog não instalado! Aguarde instalação...\n" yum install dialog fi if [ -f /etc/pki/tls/certs/ca.crt ]; then echo -e "\nCertificado Ok!" echo $porcento else echo -e "\nFazendo download do certificado Ok!" wget http://ditec.dpf.gov.br/download/servicos/software_livre/ca.crt mv -f ca.crt /etc/pki/tls/certs/ca.crt fi # -------------------Retira as máquinas i=1 usuario="teste" TESTE=`ldapsearch -x -Z "(uid=*)" uid |grep uid: | cut -d " " -f 2` nova_lista="" echo -e "\nAguarde enquanto o sistema verifica os usuários...\n" while [ "$usuario" != "" ]; do usuario=`echo $TESTE | cut -d " " -f $i` tam=`expr ${#usuario} \- 1` if [ "${usuario:$tam:1}" != "$" ];then nova_lista=`echo $nova_lista``echo " $usuario"` fi i=`expr $i \+ 1` done #-----Montando lista de usuários para o Dialog usuario="teste" echo -e "\nAguarde enquanto o sistema monta o Dialog...\n" i=1 while [ "$usuario" != "" ]; do usuario=`echo $nova_lista | cut -d " " -f $i` VER=`ls /home/ | grep "$usuario"` if [ "$VER" != "" ]; then USUARIOS[$i]=`echo $usuario``echo -e " \"\" ON"` else USUARIOS[$i]=`echo $usuario``echo -e " \"\" OFF"` fi i=`expr $i \+ 1` done num_users=`expr $i \- 2` escolha=$( dialog --stdout \ --checklist 'Selecione os usuários que utilizarão a sua máquina:' 0 0 0 \ `for ((a=1 ; a<$num_users ; a++));do echo ${USUARIOS[$a]};done` \ `echo ${USUARIOS[$num_users]}` ) CANCELA=$? # Apenda a palavra "fim" usuarios=`echo $escolha``echo " fim"` # Inicializa variáveis user_del="teste" i=1 # ---------------------------------------------- Excluindo Usuários # Apenda a palavra "fim" lista=`ls /home/` lista=`echo $lista``echo " fim"` apagados="" incluidos="" mantidos="" if [ "$CANCELA" != "1" ];then while [ "$user_del" != "fim" ]; do user_del=`echo ${lista} | cut -d " " -f $i` apagar=`echo ${escolha} | grep $user_del` YES=0 if [ "$apagar" == "" -a "$user_del" != "fim" ];then dialog --yesno "Vc realmente quer excluir o usuário $user_del?" 0 0 && YES=1 if [ "$YES" == "1" ];then rm -rf /home/$user_del/ apagados=`echo $apagados``echo " $user_del"` else mantidos=`echo $mantidos``echo " $user_del"` fi fi i=`expr $i \+ 1` done fi # Inicializa variáveis USERNAME="teste" i=1 aplic=0 # ----------------------------------------------- Incluindo Usuários while [ "$USERNAME" != "fim" ]; do USERNAME=`echo ${usuarios} | cut -d " " -f $i` if [ "$USERNAME" != "fim" ]; then len_username=${#USERNAME} len_username=`expr $len_username \- 2` USERNAME=${USERNAME:1:$len_username} if [ -e /home/$USERNAME ];then #echo -e "/home/$USERNAME Ok!\n" mantidos=`echo $mantidos``echo " $USERNAME"` else incluidos=`echo $incluidos``echo " $USERNAME"` mkdir /home/$USERNAME if [ -f /etc/skel/.bash_logout ]; then cp -R /etc/skel/.bash_logout /home/$USERNAME/ fi if [ -f /etc/skel/.bash_profile ]; then cp -R /etc/skel/.bash_profile /home/$USERNAME/ fi if [ -f /etc/skel/.bashrc ]; then cp -R /etc/skel/.bashrc /home/$USERNAME/ fi if [ -f /etc/skel/.gtkrc ]; then cp -R /etc/skel/.gtkrc /home/$USERNAME/ fi chown -R $USERNAME:usuarios /home/$USERNAME chmod -R go-rwx /home/$USERNAME #echo -e "/home/$USERNAME criado!\n" fi aplic=1 fi i=`expr $i \+ 1` done if [ "$aplic" == "1" ]; then todos=`echo $mantidos``echo " $incluidos"` anteriores=`echo $mantidos``echo " $apagados"` #echo -e "Configurando o cliente LDAP...\n" authconfig --enableldap --enableldapauth --enableldaptls --ldapserver ldap.ditec.dpf.gov.br --ldapbasedn o=dpf --kickstart dialog --title "Histórico de atividades" \ --msgbox "\nUsuário do sistema antes das atualizações:\n$anteriores\n\nUsuários incluídos:\n$incluidos\n\nUsuários excluídos:\n$apagados\n\nUsuários do sistema após atualizações:\n$todos" \ 20 50 fi exit 0
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - SCRIPT DO IPTABLES
Atualizar repositório no Linux desabilitando a hibernação do sistema
ipshow - exibir informações de sua rede
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Não consigo instalar linux mint [RESOLVIDO] (8)
Melhorando a precisão de valores flutuantes em python[AJUDA] (14)
Instalação Uefi com o instalador clássico do Mageia [RESOLVIDO] (2)