Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.106 ]
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
Ataulizando o Kernel Corretamente
ping alarme - avisa quando o ip esta offline e gera log
Copiar subdiretório presente em vários diretórios
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Acabei de formatar meu ssd e deu erro (3)
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (5)
Bash ao invés de Fish no CachyOS (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta