# PART 1 – SERVIDOR LDAP Linux (CLI)
# :white_check_mark: Resultat final esperat
> ✔ Usuaris LDAP visibles als clients
✔ Login centralitzat
✔ Home creat automàticament
✔ Gestió des del servidor
## :one: Preparació del servidor
```bash
sudo apt update && sudo apt upgrade -y
sudo hostnamectl set-hostname srv-dc
```
:::info
*nota*: substitueix "srv-dc" pel nom que vols que tingui el teu servidor (el teu hostname).
:::
Editar `/etc/hosts`
127.0.0.1 localhost
192.168.1.10 srv-dc.empresa.local srv-dc
:::warning
substitueix "srv-dc" pel hostname del teu servidor, i "empresa" pel nom del domini que vols tenir, "local" seria l'extensió (TLD).
:::
Reiniciar o aplicar hostname:
```bash
exec bash
```
## :two: Instal·lació d’LDAP i utilitats
```bash
sudo apt install slapd ldap-utils -y
```
Durant la instal·lació:
> Omet configuració DNS ❌
Domini: empresa.local
Organització: Empresa
Password admin LDAP → apuntar-la
Base DN automàtic: dc=empresa,dc=local
## :three: Reconfigurar LDAP (per assegurar)
```bash
sudo dpkg-reconfigure slapd
```
Respostes recomanades:
> Ometre configuració? ❌ No
Domini DNS: empresa.local
Organització: Empresa
Backend: MDB
Esborrar base antiga? ❌ No
Moure DB antiga? ✔ Sí
## :four: Comprovar que LDAP funciona
```bash
ldapsearch -x -LLL -H ldap:/// -b dc=empresa,dc=local
```
:::success
:point_right: Si mostra informació del domini → OK
:::
## :five: Crear estructura LDAP (OU)
Crear fitxer `estructura.ldif`:
```text
dn: ou=usuaris,dc=empresa,dc=local
objectClass: organizationalUnit
ou: usuaris
dn: ou=grups,dc=empresa,dc=local
objectClass: organizationalUnit
ou: grups
```
Importar configuració a servidor LDAP:
```bash
ldapadd -x -D cn=admin,dc=empresa,dc=local -W -f estructura.ldif
```
## :six: Crear grups
Crear fitxer de configuració; `grups.ldif`
Afegir el següent contingut;
dn: cn=alumnes,ou=grups,dc=empresa,dc=local
objectClass: posixGroup
cn: alumnes
gidNumber: 5000
Afegir fitxer configuració grups a LDAP;
```bash
ldapadd -x -D cn=admin,dc=empresa,dc=local -W -f grups.ldif
```
## :seven: Crear usuari LDAP
Primer generem password:
```bash
slappasswd
```
:::warning
*nota*: Hem de copiar el hash amb la contrasenya per l'usuari.
:::
Creem fitxer amb config d'usuari; `usuari.ldif`
I afegim la configuració al fitxer;
dn: uid=user01,ou=usuaris,dc=empresa,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: User 01
sn: User01
uid: user01
uidNumber: 10000
gidNumber: 5000
homeDirectory: /home/user01
loginShell: /bin/bash
userPassword: {SSHA}HASH_AQUI
:::warning
*nota*: afegeix la contrasenya en hash, mai en text plà per evitar problemes de seguretat.
:::
Afegim l'usuari a LDAP des del fitxer LDIF;
```bash
ldapadd -x -D cn=admin,dc=empresa,dc=local -W -f usuari.ldif
```
# :arrow_forward: [Continua en següent pas, configuració gestió GUI](https://hackmd.io/@drpece/ldap-gestio-gui)