Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.203 ]
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
SSSR - configure Samba no Damn Small Linux e DSL-N
Script para baixar e-mails de sites automaticamente
Distribuindo arquivos para máquinas em rede
package maker para o slackware
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)