[5797] | 1 | # Servico LDAP (OpenLDAP) |
---|
| 2 | |
---|
| 3 | # Comum a todas as distros |
---|
| 4 | DB_CONFIG=$ARQS/DB_CONFIG |
---|
| 5 | SCHEMAS=$ARQS/schemas |
---|
| 6 | |
---|
| 7 | # Parametro 1: Arquivo modelo de configuração do LDAP |
---|
| 8 | # Parametro 2: Destino (completo) do arquivo de configuração do servidor LDAP |
---|
| 9 | # Parametro 3: Diretório, do instalador, contendo os schemas do servidor LDAP |
---|
| 10 | # Parametro 4: Diretório, do servidor, para onde os schemas do servidor LDAP serao copiados |
---|
| 11 | # Exemplo: ldap $RHEL6/slapd.conf /etc/openldap/slapd.conf $SCHEMAS/* /etc/openldap/schema/ |
---|
[6080] | 12 | ldap () |
---|
| 13 | { |
---|
[5797] | 14 | get_org |
---|
| 15 | get_pass |
---|
| 16 | |
---|
| 17 | # As novas distros necessitam de schemas em UTF-8. Entao estou deixando essa copia para cada distro. |
---|
| 18 | cp -a $3/* $4/ |
---|
| 19 | |
---|
[5851] | 20 | sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s|LDAP_PWD_MD5|$LDAP_PWD_MD5|g" $1 > $2 |
---|
[6202] | 21 | sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s|LDAP_PWD_MD5|$LDAP_PWD_MD5|g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" -e "s/LDAP_DC/$LDAP_DC/g" $ARQS/expresso.ldif > /tmp/expresso.ldif |
---|
[5797] | 22 | slapadd -v -f $2 -l /tmp/expresso.ldif |
---|
| 23 | # TODO: E mesmo necessario rodar o slapindex ou o slapadd ja indexa? |
---|
| 24 | #slapindex |
---|
| 25 | } |
---|
| 26 | |
---|
| 27 | # Parametros: Iguais a funcao ldap; |
---|
| 28 | ldap_debian () |
---|
| 29 | { |
---|
| 30 | apt-get -y install slapd ldap-utils |
---|
| 31 | /etc/init.d/slapd stop |
---|
| 32 | # Move a atual base LDAP |
---|
| 33 | # TODO: Executar varias a vezes este instalador ira gerar muitos arquivos de backup! Melhor do que nao ter nenhum... |
---|
| 34 | mv /var/lib/ldap /var/lib/ldap.`date +"%s"` |
---|
| 35 | mkdir /var/lib/ldap |
---|
| 36 | cp -a $DB_CONFIG /var/lib/ldap/ |
---|
| 37 | |
---|
| 38 | # Cria o arquivo de configuração do LDAP e sua árvore conforme a distro |
---|
| 39 | ldap $1 $2 $3 $4 |
---|
| 40 | # Altera as permissões para o usuario padrao do Debian |
---|
| 41 | chown -R openldap:openldap /var/lib/ldap |
---|
| 42 | # Apaga os arquivos do slapd.d, para que o LDAP funcione com o |
---|
| 43 | # slapd.conf |
---|
| 44 | rm -rf /etc/ldap/slapd.d |
---|
| 45 | /etc/init.d/slapd start |
---|
| 46 | } |
---|
| 47 | |
---|
[6261] | 48 | ldap_debian_6 () |
---|
[5797] | 49 | { |
---|
| 50 | # BDB do Squeeze |
---|
| 51 | apt-get -y install db4.7-util |
---|
| 52 | |
---|
| 53 | SQUEEZE=debian/squeeze/etc/ldap |
---|
| 54 | ldap_debian $SQUEEZE/slapd.conf /etc/ldap/slapd.conf $SCHEMAS /etc/ldap/schema |
---|
| 55 | } |
---|
| 56 | |
---|
[7503] | 57 | ldap_ubuntu_1204 () |
---|
[5836] | 58 | { |
---|
[6261] | 59 | ldap_debian_6 |
---|
[5836] | 60 | } |
---|
| 61 | |
---|
[5797] | 62 | # Parametros: Iguais a funcao ldap; |
---|
| 63 | ldap_rhel () |
---|
| 64 | { |
---|
| 65 | yum -y install openldap openldap-clients openldap-servers |
---|
| 66 | service ldap stop |
---|
| 67 | # Faz backup das bases do LDAP |
---|
| 68 | mv /var/lib/ldap /var/lib/ldap.`date +"%s"` |
---|
| 69 | mkdir /var/lib/ldap |
---|
| 70 | cp -a $DB_CONFIG /var/lib/ldap/ |
---|
| 71 | |
---|
| 72 | # Cria o arquivo de configuração do LDAP e sua árvore conforme a distro |
---|
| 73 | ldap $1 $2 $3 $4 |
---|
| 74 | chown -R ldap:ldap /var/lib/ldap |
---|
| 75 | chkconfig slapd on |
---|
| 76 | rm -rf /etc/openldap/slapd.d |
---|
| 77 | service slapd start |
---|
| 78 | } |
---|
| 79 | |
---|
[6261] | 80 | ldap_rhel_6 () |
---|
[5797] | 81 | { |
---|
| 82 | RHEL6=rhel/6/etc/openldap |
---|
| 83 | ldap_rhel $RHEL6/slapd.conf /etc/openldap/slapd.conf $SCHEMAS /etc/openldap/schema/ |
---|
| 84 | } |
---|
| 85 | |
---|