Vérifiez à nouveau à l'aide de la commande `docker image list` qu'il existe bien une image correspondant au nom et au tag donné précédemment. Félicitations ! Vous connaissez désormais les opérateurs de base pour interagir avec un registre privé :)
## Utilisation de la directive USER
Clonez le projet disponible à l'adresse URL ci-après dans le répertoire de votre choix : [https://gitlab.univ-lille.fr/formation-docker-cnrs/session-debutant.git](https://gitlab.univ-lille.fr/formation-docker-cnrs/session-debutant.git).
Changez pour le répertoire `session-debutant` (ou autrement ... si vous l'avez renommé) puis créez le fichier `Dockerfile` ci-après :
```bash
FROM alpine:latest
RUN mkdir /app
RUN addgroup nemart && adduser -D-H-s /bin/false -G nemart jean
WORKDIR /app
COPY . /app
RUN chown-R jean:nemart /app
USER jean
CMD id&&ls-alrt /app
```
Construisez cette image (que vous nommerez `exercice-user`) et exécutez là (`docker run --rm exercice-user`). Qu'observez-vous sur les droits (utilisateurs, fichiers, etc.) ?
> Attention : la suite peut être dangereuse si vous n'êtes pas bien reveillé ... ou en phase de digestion avancée :)
Nous allons être joueurs et monter le répertoire `/` de votre hôte (ou un autre si vous êtes sous Windows) afin de tester si nous sommes capables de supprimer des données lorsque nous sommes dans le conteneur. Ci-après la commande que j'utilise dans mon cas :
```bash
docker run -v /:/rep_serveur -it--rm exercice-user:latest sh
rm-f /rep_serveur/etc/passwd
```
Vous venez d'effacer le fichier `/etc/passwd` de votre machine (perso ou virtuelle) ... bravo !
... Non, je déconne, c'est une (mauvaise) blague. Si nous voulons que ça fonctionne, il faudra monter dans le conteneur un répertoire sur l'hôte qui possède les mêmes UID et GID que mon USER jean (1000:1000 par défaut) pour créer/modifier/supprimer des données.
Vous n'êtes pas protégé, malgré tout, d'une utilisation malveillante d'un utilisateur. Si vous lancez la commande précédente en utilisant l'option `-u <user>` lors du `run`, vous outre-passez cette règle (ce qui peut être dramatique pour le coup). Exemple pour moi :
```bash
docker run --rm-u root -it exercice-user:latest sh