Exercici per fer (2): edtasixm06/ldap22:editat generar un sol fitxer ldif anomenat edt-org.ldif (usuaris0-11)
# ldapserver 2023
FROM debian:latest
LABEL version="1.0"
LABEL author="Kilian Steven Guanoluisa Pionce"
LABEL subject="ldap:editat"
RUN apt-get update
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y procps iproute2 tree nmap vim ldap-utils slapd less
RUN mkdir /opt/docker
COPY * /opt/docker/
RUN chmod +x /opt/docker/startup.sh
WORKDIR /opt/docker
CMD /opt/docker/startup.sh
EXPOSE 389
#! /bin/bash
# Esborrar els directoris de configuració i de dades
rm -rf /var/lib/ldap/*
rm -rf /etc/ldap/slapd.d/*
# Generar el directori de configuració dinàmica slapd.d a partir del fitxer de configuració slapd.conf
slaptest -f /opt/docker/slapd.conf -F /etc/ldap/slapd.d
# Injectar a baix nivell les dades de la BD 'populate' de l'organització dc=edt,dc=org
slapadd -F /etc/ldap/slapd.d -l /opt/docker/edt-org.ldif
# Assignar la propietat i grup del directori de ddaes i de configuració a l'usuari openldap
chown -R openldap.openldap /etc/ldap/slapd.d /var/lib/ldap
# Engegar el servei slapd amb el paràmetre que fa debug per mantenir-lo engegat en foreground
/usr/sbin/slapd -d0
dn: dc=edt,dc=org
dc: edt
description: Escola del treball de Barcelona
objectClass: dcObject
objectClass: organization
o: edt.org
dn: ou=maquines,dc=edt,dc=org
ou: maquines
description: Container per a maquines linux
objectclass: organizationalunit
dn: ou=clients,dc=edt,dc=org
ou: clients
description: Container per a clients linux
objectclass: organizationalunit
dn: ou=productes,dc=edt,dc=org
ou: productes
description: Container per a productes linux
objectclass: organizationalunit
dn: ou=usuaris,dc=edt,dc=org
ou: usuaris
description: Container per usuaris del sistema linux
objectclass: organizationalunit
dn: uid=Pau,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Pau Pou
cn: Pauet Pou
sn: Pou
homephone: 555-222-2220
mail: [email protected]
description: Watch out for this guy
ou: Profes
uid: pau
uidNumber: 5000
gidNumber: 100
homeDirectory: /tmp/home/pau
userPassword: {SSHA}NDkipesNQqTFDgGJfyraLz/csZAIlk2/
dn: uid=Pere,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Pere Pou
sn: Pou
homephone: 555-222-2221
mail: [email protected]
description: Watch out for this guy
ou: Profes
uid: pere
uidNumber: 5001
gidNumber: 100
homeDirectory: /tmp/home/pere
userPassword: {SSHA}ghmtRL11YtXoUhIP7z6f7nb8RCNadFe+
dn: uid=Anna,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Anna Pou
cn: Anita Pou
sn: Pou
homephone: 555-222-2222
mail: [email protected]
description: Watch out for this girl
ou: Alumnes
uid: anna
uidNumber: 5002
gidNumber: 600
homeDirectory: /tmp/home/anna
userPassword: {SSHA}Bm4B3Bu/fuH6Bby9lgxfFAwLYrK0RbOq
dn: uid=Marta,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Marta Mas
sn: Mas
homephone: 555-222-2223
mail: [email protected]
description: Watch out for this girl
ou: Alumnes
uid: marta
uidNumber: 5003
gidNumber: 600
homeDirectory: /tmp/home/marta
userPassword: {SSHA}9+1F2f5vcW8z/tmSzYNWdlz5GbDCyoOw
dn: uid=Jordi,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Jordi Mas
cn: Giorgios Mas
sn: Mas
homephone: 555-222-2224
mail: [email protected]
description: Watch out for this girl
ou: Alumnes
ou: Profes
uid: jordi
uidNumber: 5004
gidNumber: 100
homeDirectory: /tmp/home/jordi
userPassword: {SSHA}T5jrMgpJwZZgu0azkLIVoYhiG08/KGUv
dn: uid=Admin,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: Administrador Sistema
cn: System Admin
sn: System
homephone: 555-222-2225
mail: [email protected]
description: Watch out for this girl
ou: system
ou: admin
uid: admin
uidNumber: 10
gidNumber: 10
homeDirectory: /tmp/home/admin
userPassword: {SSHA}4mS0FycWc5bkpW8/a396SGNDTQUlFSX3
# ---------------------------------------------------------------
# Contra passwd per tots els usuaris=user01
dn: uid=user01,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user01
cn: usuari numero 1
sn: usuari numero 1
homephone: 555-222-2226
mail: [email protected]
description: usuari del cicle d'Asix
ou: 2asix
uid: user01
uidNumber: 777
gidNumber: 710
homeDirectory: /tmp/home/2asix/user01
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user02,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user02
cn: usuari numero 2
sn: usuari numero 2
homephone: 555-222-2227
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user02
uidNumber: 778
gidNumber: 711
homeDirectory: /tmp/home/2asix/user02
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user03,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user03
cn: usuari numero 3
sn: usuari numero 3
homephone: 555-222-2228
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user02
uidNumber: 779
gidNumber: 712
homeDirectory: /tmp/home/2asix/user03
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user04,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user04
cn: usuari numero 4
sn: usuari numero 4
homephone: 555-222-2229
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user04
uidNumber: 780
gidNumber: 713
homeDirectory: /tmp/home/2asix/user04
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user05,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user05
cn: usuari numero 5
sn: usuari numero 5
homephone: 555-222-2230
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user05
uidNumber: 781
gidNumber: 714
homeDirectory: /tmp/home/2asix/user05
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user06,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user06
cn: usuari numero 6
sn: usuari numero 6
homephone: 555-222-2231
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user06
uidNumber: 782
gidNumber: 715
homeDirectory: /tmp/home/2asix/user06
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user07,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user07
cn: usuari numero 7
sn: usuari numero 7
homephone: 555-222-2232
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user07
uidNumber: 783
gidNumber: 715
homeDirectory: /tmp/home/2asix/user07
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user08,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user08
cn: usuari numero 8
sn: usuari numero 8
homephone: 555-222-2233
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user08
uidNumber: 784
gidNumber: 716
homeDirectory: /tmp/home/2asix/user08
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user09,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user09
cn: usuari numero 9
sn: usuari numero 9
homephone: 555-222-2234
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user09
uidNumber: 785
gidNumber: 717
homeDirectory: /tmp/home/2asix/user09
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
dn: uid=user10,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
cn: user10
cn: usuari numero 10
sn: usuari numero 10
homephone: 555-222-2235
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user10
uidNumber: 786
gidNumber: 718
homeDirectory: /tmp/home/2asix/user10
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
# --------------------------------------------------------
dn: ou=gamers,dc=edt,dc=org
ou: gamers
description: jugadors de la play
objectclass: organizationalunit
dn: cn=Jack Sparrow,ou=gamers,dc=edt,dc=org
objectClass: inetOrgPerson
cn: Jack Sparrow
cn: Jack Sparrow
sn: Sparrow
homephone: 666-777-9999
mail: [email protected]
dn: cn=Benzema Vini,ou=gamers,dc=edt,dc=org
objectClass: inetOrgPerson
cn: Benzema Vini
cn: Benzema Vini
sn: Vini
homephone: 111-222-3333
mail: [email protected]
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
# debian packages: slapd ldap-utils
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
#include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/collective.schema
# Allow LDAPv2 client connections. This is NOT the default.
allow bind_v2
pidfile /var/run/slapd/slapd.pid
#argsfile /var/run/openldap/slapd.args
modulepath /usr/lib/ldap
moduleload back_mdb.la
moduleload back_monitor.la
# ----------------------------------------------------------------------
database mdb
suffix "dc=edt,dc=org"
rootdn "cn=Manager,dc=edt,dc=org"
# rootpw secret
rootpw {SSHA}iApqI30usBRO+UGJlBdHB89jOji8HPbK
directory /var/lib/ldap
index objectClass eq,pres
access to * by self write by * read
# ---------------------------------------------------------------------
database config
rootdn "cn=Sysadmin,cn=config"
rootpw syskey
# ----------------------------------------------------------------------
database monitor
access to *
by dn.exact="cn=Manager,dc=edt,dc=org" read
by * none
dn: uid=user03,ou=usuaris,dc=edt,dc=org
changetype: modify
replace: cn
cn: Vini
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: new_passwd
-
delete: olcAccess
-
add: olcAccess
olcAccess: to * by * write
ldapmodify -x -D 'cn=Sysadmin,cn=config' -w syskey -f modificacions1.ldif
# El que hem fet és identificar-nos amb -D com a "Sysadmin.config" (administrador de la BD config), estem indicant que la clau d'aquesta és "syskey" i que faci les modificacions a partir del fitxer "modificacions2.ldif".
ldapsearch -x -LLL -D 'cn=Sysadmin,cn=config' -w syskey -b 'uid=user03,ou=usuaris,dc=edt,dc=org'
# Comprovem que el registre s'ha canviat a través de la búsqueda del registre.
dn: uid=user03,ou=usuaris,dc=edt,dc=org
objectclass: posixAccount
objectclass: inetOrgPerson
sn: usuari numero 3
homephone: 555-222-2228
mail: [email protected]
description: alumne del cicle d'Asix
ou: 2asix
uid: user02
uidNumber: 779
gidNumber: 712
homeDirectory: /tmp/home/2asix/user03
userPassword: {SSHA}i+zxvD8hgSVDEXQW0N/li/R2xA11znBN
cn: Vini
ldapmodify -x -D 'cn=Manager,dc=edt,dc=org' -w secret -f modificacions1.ldif
modifying entry "uid=user03,ou=usuaris,dc=edt,dc=org"
ldapmodify -x -D 'uid=user04,ou=usuaris,dc=edt,dc=org' -w user01 -f modificacions1.ldif
modifying entry "uid=user04,ou=usuaris,dc=edt,dc=org"
cat modificacions1.ldif
dn: uid=user04,ou=usuaris,dc=edt,dc=org
changetype: modify
replace: homePhone
homePhone: 777-777-7777
- Hem cambiat el fitxer perquè modifiqui les dades del propi usuari
ldapmodify -x -D 'cn=Sysadmin,cn=config' -w syskey -f modificacions2.ldif
# El que hem fet és fer una modificació a través de xifrar la sortida amb "-x", ens hem identificat com administrador de la BD config i hem introduït la clau, que en aquest cas és "syskey". -> Fem modificacions a través d'un fitxer
ldapsearch -x -LLL -D 'cn=Sysadmin,cn=config' -w syskey -b 'olcDatabase={1}mdb,cn=config' olcRootPW olcAccess
dn: olcDatabase={1}mdb,cn=config
olcRootPW: new_passwd
olcAccess: {0}to * by * write
- El que hem fet és buscar en una BD específica, que és "olcDatabase={1}mdb,cn=config' i que ens mostri el RootPW i el olcAccess, efectivament ens ha fet les modificacions
########################
Antiga sortida:
dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to * by self write by * read
olcRootPW: {SSHA}iApqI30usBRO+UGJlBdHB89jOji8HPbK
Per saber l'encriptació de la paraula "secret"; quan iniciem el container farem l'ordre:
slappassw -s secret
Per iniciar el container:
docker build -t kiliangp/ldap:editat .
docker run --rm --name editat -h ldap.edt.org -p 389:389 -d kiliangp/ldap:editat
docker exec -it editat /bin/bash
Content type
Image
Digest
sha256:bede54c16…
Size
106.7 MB
Last updated
almost 3 years ago
docker pull kiliangp/ldap:editat