Menu para servidor LDAP
Publicado por Tairone Seremeta (última atualização em 07/06/2011)
[ Hits: 7.461 ]
Homepage: Google
Segue um menu para auxiliar na adição, criação de grupos entre outras funções.
Ajudou muito aqui na minha empresa.
#!/bin/bash
Principal() {
clear
suffix="dc=NOME DO SEU LDAP"
people="ou=People",$suffix
group="ou=Group",$suffix
rootdn="USUARIO DO LDAP"
rootpw="SENHA DO LDAP"
echo "+--------------------------------------------------------+"
echo "| SUA EMPRESA |"
echo "+--------------------------------------------------------+"
echo "| MENU do Ldap |"
echo "+--------------------------------------------------------+"
echo
echo Powered by: Tairone Seremeta
echo Tecnologia Informacao - TI
echo
echo -ne "#======= Menu do seu LDAP ========#"
echo
echo "1. Adicionar um Usuario"
echo "2. Deletar um Usuario"
echo "3. Modificar senha de Usuario"
echo "4. Adicionar um Grupo"
echo "5. Remover um Grupo"
echo "6. Adicionar um Usuario no Grupo"
echo "7. Remover um Usuario no Grupo"
echo "8. Listar Usuario"
echo "9. Sair"
echo -n "Entre com a opcao desejada => "
read opcao
echo
case $opcao in
1) Adicionar ;;
2) Deletar ;;
3) Modificar ;;
4) Adicionar_grupo ;;
5) Remover_grupo ;;
6) Alterar_grupo ;;
7) Alterar_del_grupo ;;
8) Lista_usuario ;;
9) exit ;;
*) "Opcao desconhecida." ; echo ; Principal ;;
esac
}
#1#################Adicionando usuario####################
Adicionar() {
uidnumber=`ldapsearch -LL -x -b $people uidNumber | grep uidNumber | tail -1 | awk '{print $2}'`
nextuid=`expr $uidnumber + 1`
echo -n "Digite o login:"
read uid
echo -n "Digite somente o nome:"
read cn
echo -n "Digite o sobrenome:"
read sn
echo -n "Digite o numero do CPF:"
read numcpf
echo -n "Digite o Setor->"
read numsetor
echo
echo -n "Digite a senha: "
read -s pass
senha=`slappasswd -c crypt -s $pass`
echo
(
echo "dn:uid=$uid,$people"
echo "objectClass: top"
echo "objectClass: person"
echo "objectClass: posixAccount"
echo "objectClass: inetOrgPerson"
echo "cn:$cn"
echo "sn:$sn"
echo "uid: $uid"
echo "cpf: $numcpf"
echo "userPassword: $senha"
echo "homeDirectory: /home/$uid"
echo "loginShell: /bin/bash"
echo "uidNumber: $nextuid"
echo "gidNumber: $numsetor"
)| ldapadd -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#2#################Deletar usuario######################
Deletar () {
echo -n "Digite o login a ser excluido:"
read cn
echo $LDAPDN
(
echo "uid=$cn,$people"
)| ldapdelete -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#3#####################Alterar senha######################
Modificar() {
echo -n "Digite o login -> "
read userldap
cn=$userldap
echo -n "Digite a senha: "
read -s pass
senha=`slappasswd -c crypt -s $pass`
echo
LDAPDN=`ldapsearch -h localhost -x -b $people -D $rootdn,$suffix -w $rootpw "(uid=$cn)" | grep dn`
(
echo "$LDAPDN"
echo "changetype: modify"
echo "replace: userPassword"
echo "userPassword: $senha"
)| ldapmodify -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#4###################Adicionando Grupo########################
Adicionar_grupo() {
gidnumber=`ldapsearch -h localhost -x -b $group -D $rootdn,$suffix -w $rootpw gidNumber | grep gidNumber: | sort | cut -d : -f 2 | tail -n 1| sed s/\ //g`
nextgid=`expr $gidnumber + 1`
echo -n "Digite o novo grupo:"
read uid
(
echo "dn:cn=$uid,$group"
echo "objectClass: posixGroup"
echo "cn: $uid"
echo "gidNumber: $nextgid"
)| ldapadd -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#5##################Remover Grupo############################
Remover_grupo() {
echo -n "Digite o grupo a ser excluido:"
read cn
echo $LDAPDN
(
echo "cn=$cn,$group"
)| ldapdelete -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#6#############Alterando o grupo de um login###################
Alterar_grupo() {
echo -n "Digite o login a ser alterado:"
read uid
echo -n "Digite o grupo:"
read cn
(
echo "dn: cn=$cn,$group"
echo "changetype: modify"
echo "add: memberUid"
echo "memberUid: $uid"
)| ldapmodify -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#7#############Removendo login de um grupo###################
Alterar_del_grupo() {
echo -n "Digite o login a ser retirado:"
read uid
echo -n "Digite o grupo:"
read cn
(
echo "dn: cn=$cn,$group"
echo "changetype: modify"
echo "delete: memberUid"
echo "memberUid: $uid"
)| ldapmodify -x -D $rootdn,$suffix -w $rootpw
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
#8##############Lista Usuario####################
Lista_usuario() {
echo -n "Digite o login:"
read user_id
ldapsearch -LLL -x uid=$user_id
echo "Pressione qualquer tecla para continuar..."
read msg
Principal
}
Automação para midias removíveis
Inserção de máquinas no banco de dados para controle interno
Procurando um padrão num arquivo
Pesquisa Binária usando Bash-Shell
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









