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/ |
---|
12 | ldap () |
---|
13 | { |
---|
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 | |
---|
20 | sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s|LDAP_PWD_MD5|$LDAP_PWD_MD5|g" $1 > $2 |
---|
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 |
---|
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 | |
---|
48 | ldap_debian_6 () |
---|
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 | |
---|
57 | ldap_ubuntu_1204 () |
---|
58 | { |
---|
59 | ldap_debian_6 |
---|
60 | } |
---|
61 | |
---|
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 | |
---|
80 | ldap_rhel_6 () |
---|
81 | { |
---|
82 | RHEL6=rhel/6/etc/openldap |
---|
83 | ldap_rhel $RHEL6/slapd.conf /etc/openldap/slapd.conf $SCHEMAS /etc/openldap/schema/ |
---|
84 | } |
---|
85 | |
---|