# Perfils mòbils

## Introducció

> Configurar **perfils mòbils** serveix per evitar que cada cop que un usuari canviï de màquina, hagi de tornar a configurar el seu entorn de treball.

A més, amb els perfils mòbils, els **documents** que els usuaris del domini guardin a la seva carpeta personal es guardaran al servidor i **hi podran accedir des de qualsevol màquina del domini** a la que vagin a treballar.

Però també hi ha un **inconvenient**:

* Si hi ha molts clients o els clients tenen moltes dades, pot augmentar molt la càrrega del servidor i de la xarxa.

En **Linux**, per poder utilitzar perfils mòbils cal fer els següents passos:

1. Crear una **carpeta** en el servidor on es guardaran els **perfils dels usuaris** del domini.
2. **Compartir** aquesta carpeta de forma que s'hi pugui accedir des dels clients.
3. En els **clients**, s'ha de fer que **montin automàticament aquesta carpeta** remota cada cop que arrenqui el sistema.

## Configuració del servidor

### Instal·lar el servei de compartició de carpetes en xarxa (NFS)

El servei **NFS** és el sistema que utilitza Linux per compartir carpetes en xarxa.

El paquet que s'ha d'instal·lar és el ***nfs-kernel-server***:

```
sudo apt update
sudo apt install nfs-kernel-server
```

### Crear la carpeta que s'ha de compartir

El primer que cal fer és **crear el directori** que servirà de base pel sistema NFS i la carpeta on es guardaran els perfils dels usuaris del domini.

Si en **LDAP** s'ha configurat que el directori dels usuaris del domini sigui `/home/ldapxxx`, s'ha de crear la carpeta `ldapxxx` dins del directori base de NFS:

`sudo mkdir -p /srv/nfs/ldapxxx`

**Nota**: El paràmetre ***-p*** crea tots els directoris anidats si no existeixen.

> Si el **directori dels usuaris LDAP** no és `/home/ldapxxx`, cal modificar-lo amb algun dels programes de gestió de LDAP com per exemple phpLDAPadmin.

### Enllaçar la carpeta compartida amb la carpeta local d'usuaris del domini

> **Només** si s'ha configurat el servidor per fer que es puguin validar usuaris del domini, també caldrà fer les següents configuracions:

1. **Crear la carpeta** `/home/ldapxxx` (si no està ja creada):

   `sudo mkdir /home/ldapxxx`
2. **Enllaçar la carpeta** que es vol compartir (`/srv/nfs/ldapxxx`) amb el directori on es troben les carpetes dels usuaris del domini (`/home/ldapxxx`). Per fer que s'enllacin automàticament cada cop que arrenqui el servidor, afegirem la següent línia al final de l'arxiu `/etc/fstab` (és similar a muntar una partició en una carpeta, però el tipus de format és none i l'única opció que posarme és bind):

   ```
   # Enllaçar la carpeta d'usuaris de LDAP amb la carpeta compartida amb NFS
   /home/ldapxxx      /srv/nfs/ldapxxx      none      bind      0      4
   ```
3. I per **enllaçar immediatament**, sense haver de reiniciar:

   `sudo mount -a`

### Configurar el servei per compartir la carpeta dels usuaris del domini

El **servei NFS** es configura en l'arxiu `/etc/exports`.

S'ha d'afegir la següent línia que serveix per **compartir la carpeta** on es troben els perfils dels usuaris:

```
  /srv/nfs/ldapxxx  *(rw,no_root_squash,no_subtree_check,no_wdelay,sync)
```

Com sempre que es modifica la configuració d'un servei, cal **reiniciar-lo** i comprovar que no hi hagi errors:

```
usuari@usxxx:~$ sudo service nfs-kernel-server restart
```

Per **comprovar** que s'està compartint la carpeta:

```
usuari@usxxx:~$ sudo exportfs
/srv/nfs/ldapxxx
        <world>
usuari@usxxx:~$
```

## Configuració de les màquines clients

### Instal·lar el client del servei NFS

Per utilitzar el **servei NFS** (accedir a carpetes compartides en xarxa) cal instal·lar el paquet client de NFS, ***nfs-common***:

`sudo apt install nfs-common`

### Crear la carpeta on s'ha de muntar la carpeta remota

1. Si en LDAP s'ha configurat que **el directori dels usuaris** del domini sigui `/home/ldapxxx`, el primer que s'ha de fer és **crear** aquesta **carpeta** (a no ser que ja existeixi) que farem servir després com a punt de muntatge:

   `sudo mkdir /home/ldapxxx`
2. Després s'ha de fer que el directori del servidor `/srv/nfs/ldapxxx` es **munti automàticament** cada cop que s'engegui la màquina, afegint la següent línia a l'arxiu `/etc/fstab`:

   ```
   # Muntar la carpeta remota d'usuaris en el servidor
   172.30.A.20:/srv/nfs/ldapxxx   /home/ldapxxx   nfs    _netdev,auto  0  4
   ```
3. Per **muntar la carpeta remota immediatament**, sense haver de reiniciar (cal comprovar que no doni cap error):

   `sudo mount -a`

## Comprovació dels perfils mòbils en els clients

### Comprovar des de la consola

Comprovar que **es pot validar un usuari** (la primera vegada es crea la seva carpeta personal):

```
usuari@ucxxx:~$ sudo login conserge
Contraseña:
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-45-generic x86_64)
...
conserge@ucxxx:~$
```

Comprovar que l'usuari **pot crear un arxiu**:

```
  conserge@ucxxx:~$ touch prova
```

Comprova que l'usuari **no pot crear un arxiu a la carpeta personal d'un altre usuari**:

```
  conserge@ucxxx:~$ touch /home/ldapxxx/secretaria/prova
```

**Des del servidor**, comprovar que existeix la carpeta d'aquest usuari i que s'ha creat l'arxiu amb el propietari i grup correctes:

```
usuari@usxxx:~$ ls -l /home/ldapxxx/conserge
total 0
-rw-r--r-- 1 conserge administratius 0 nov 19 19:46 prova
```

### Comprovar des de l'entorn gràfic

En el client, tancar la sessió de l'usuari actual i intentar validar un usuari del domini (no cal indicar el domini).

Es pot mostrar el nom de l'usuari al costat del botó d'apagada anant a ***Configuración del sistema*** → ***Cuentas de usuario*** i marcant la casella ***Mostrar mi nombre de usuario en la barra de menús***.

**Des del servidor**, comprovar quins arxius s'han creat en la seva carpeta personal (carpeta del perfil):

```
usuari@usxxx:~$ ls -l /home/ldapxxx/conserge/
total 8
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Descargas
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Documentos
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Escritorio
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Imágenes
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Música
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Plantillas
-rw-r--r-- 1 conserge administratius    0 nov 19 19:46 prova
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Público
drwxr-xr-x 2 conserge administratius 1024 nov 19 20:03 Vídeos
```

## Deshabilitar els perfils mòbils

### En els clients

1. En l'arxiu `/etc/fstab`, **comentar o eliminar la línia que munta la carpeta remota** dels usuaris del domini:

   ```
   # 172.30.A.20:/srv/nfs/ldapxxx   /home/ldapxxx   nfs    _netdev,auto  0  4
   ```
2. **Desmuntar aquesta carpeta** sense haver de reiniciar el sistema:

   `sudo umount /home/ldapxxx`
3. Es pot **comprovar** que aquesta carpeta ja no està muntada utilitzant la comanda mount.

> A partir d'aquest moment, els perfils es crearan en els clients en lloc de fer-ho en el servidor.

### En el servidor

1. En l'arxiu `/etc/exports`, **comentar o eliminar la línia que comparteix la carpeta** en el sistema NFS:

   ```
   # /srv/nfs/ldapxxx   *(rw,no_root_squash,no_subtree_check,no_wdelay,sync)
   ```
2. **Reiniciar el sistema NFS**:

   `sudo service nfs-kernel-server reload`
3. Amb la comanda `exportfs` es pot **comprovar** que ja no s'està compartint aquesta carpeta:

   ```
   usuari@usxxx:~$ sudo exportfs
   usuari@usxxx:~$
   ```
4. En l'arxiu `/etc/fstab`, **comentar o eliminar la línia que enllaça la carpeta dels usuaris amb la carpeta compartida** amb el sistema NFS:

   ```
   # /home/ldapxxx      /srv/nfs/ldapxxx      none      bind      0      4
   ```
5. **Desenllaçar aquestes carpetes** sense haver de reiniciar el sistema:

   `sudo umount /srv/nfs/ldapxxx`
6. Es pot **comprovar** que aquestes carpetes ja no estan enllaçades utilitzant la comanda mount.

## Documentació i recursos

* **SomeBooks.es**: [Perfiles móviles de usuario usando NFS y LDAP](http://somebooks.es/capitulo-11-instalar-y-configurar-openldap-en-ubuntu-14-04-lts/12/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sergi-coll.gitbook.io/sox/uf2.-sistemes-operatius-lliures-en-xarxa/uf2-gestio-dominis/uf2-perfils-mobils.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
