# Bookstack & DB nicht als root

Im Standard werden die Container als Systemuser *root* ausgeführt. Dies gilt als Risiko, da ein Ausbruch aus dem Container dazu führt, dass der Angreifer mit *root* Rechten auf dem Host agieren kann. Um dies zu verhindern, können die Dienste in den Containern mit einem anderen Benutzer ausgeführt werden. Hierzu kann die Docker Config aus der [Installation](https://jaeckel.one/attachments/5) angepasst werden.

```yaml
  bookstack:
    environment:
      - PUID=1000
      - PGID=1000
```

Die beiden neuen Parameter (PUID und PGID) werden einfach unter die bereits vorhandenen Parameter in *environment* geschrieben. Sie haben zur Folge, dass die Dienste dann als User mit der ID 1000 und der Gruppen ID 1000 laufen, die IDs sind wichtig und müssen bei den Anpassungen der Berechtigungen berücksichtigt werden.

<p class="callout warning">Durch die Anpassung des Dienst-Benutzers, kann dieser natürlich nicht mehr auf die bereits vorhandenen Dateien zugreifen. Deswegen müssen die Berechtigungen/Eigentümer der Verzeichnisse, die in der Docker Config angegeben sind, geändert werden.  
Dazu kann der folgende Befehl angepasst und verwendet werden: `sudo chown -R 1000 ./bookstack_app_data`</p>

Sofern auch die MariaDB als Container wie in der [Installation](https://jaeckel.one/attachments/5) beschrieben eingerichtet wurde, kann der Dienst-Benutzer auf die selbe Art angepasst werden.

```yaml
  bookstack_db:
    environment:
      - PUID=1000
      - PGID=1000
```

Nachdem die Config angepasst ist, kann der Container mit `sudo docker-compose up -d` neu erstellt werden, um die Änderungen anzuwenden.