Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.304 ]
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
Script de Backup para FITA DAT usando "afio"
Script q ue cria uma galeria de imagens
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro no suitable vídeo mode (0)
Erro no suitable vídeo mode (0)
Erro no suitable vídeo mode (0)
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)









