Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.034 ]
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
Ispeed - Medidor de velocidade de download
Ajudem a melhorar este script IPTABLES
Limitador de conexões para usuários
Backup para CD-R/RW e DVD+/- R/RW
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
Instalando Grub Customizer no Ubuntu 24.04
COMANDO PVCREATE NÃO ENCONTRADO (3)
Aviso! Spin do Fedora (versão lxde) com problemas no programa de insta... (2)
Microfone não está conectado no Ubuntu 22.04 (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (43)