Fedora autenticando no LDAP.
Publicado por Alessandro Dias 04/04/2007
[ Hits: 10.340 ]
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
Atualizando o kde para kde3.5.7
Pequeno, simples mas interessante chat desenvolvido totalmente em shell script.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (8)
Quais licenças open source têm valor jurídico? (7)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (1)









