# Mattermost CLI (mmctl) – Anmeldung & Admin-Nutzerverwaltung Diese Anleitung beschreibt, wie du `mmctl` per **Login-Modus** (Variante 2) nutzt, statt über den Local-Socket-Modus. Damit brauchst du kein `sudo` und keine Serverkonfiguration anzupassen. --- ## Voraussetzungen - Mattermost läuft und ist unter einer URL erreichbar (lokal z. B. `http://localhost:8065`) - Du hast bereits einen bestehenden System-Admin-Account (Username + Passwort) - `mmctl` ist installiert (z. B. unter `/opt/mattermost/bin/mmctl`) --- ## 1. Bei mmctl anmelden ```bash mmctl auth login http://localhost:8065 --name local-admin --username --password ``` **Parameter-Erklärung:** | Parameter | Bedeutung | |---|---| | `http://localhost:8065` | URL deines Mattermost-Servers | | `--name local-admin` | Frei wählbarer Name für dieses Login-Profil (wird lokal gespeichert) | | `--username` | Dein bestehender Admin-Benutzername | | `--password` | Dein bestehendes Admin-Passwort | Nach erfolgreichem Login speichert `mmctl` die Session lokal (unter `~/.config/mmctl/`), sodass du dich nicht bei jedem Befehl neu anmelden musst. **Kein `sudo` nötig** – die Authentifizierung läuft über die normale API, nicht über den geschützten Unix-Socket. --- ## 2. Login prüfen (optional) ```bash mmctl auth list ``` Zeigt alle gespeicherten Login-Profile. Das aktive Profil ist markiert. Falls du mehrere Profile hast und wechseln willst: ```bash mmctl auth set local-admin ``` --- ## 3. Neuen System-Admin-Nutzer anlegen ```bash mmctl user create \ --email "l.nienhaus@nd-online.de" \ --username "admin-nd" \ --password "EinSicheresPasswort123!" \ --system-admin ``` **Parameter-Erklärung:** | Parameter | Bedeutung | |---|---| | `--email` | E-Mail-Adresse des neuen Nutzers | | `--username` | Gewünschter Benutzername | | `--password` | Startpasswort (sollte sicher sein, Nutzer kann es später ändern) | | `--system-admin` | Vergibt sofort die System-Admin-Rolle | --- ## 4. Bestehenden Nutzer nachträglich zum Admin machen Falls der Nutzer schon existiert und nur die Rolle fehlt: ```bash mmctl roles system_admin ``` --- ## 5. Kontrolle: Nutzerliste anzeigen ```bash mmctl user list ``` Zeigt alle registrierten Nutzer inkl. E-Mail und Rollen. --- ## 6. Abmelden (optional, für saubere Sessions) ```bash mmctl auth clean ``` Löscht alle gespeicherten Login-Profile. --- ## Troubleshooting | Fehler | Ursache | Lösung | |---|---|---| | `socket file "/var/tmp/mattermost_local.socket" doesn't exist` | mmctl versucht Local Mode statt Login-Modus | Erst `mmctl auth login` ausführen (siehe Schritt 1) | | `Error: You are not logged in` | Session abgelaufen oder nicht angemeldet | Schritt 1 wiederholen | | `command not found: mmctl` | mmctl nicht im PATH | Vollen Pfad nutzen, z. B. `/opt/mattermost/bin/mmctl` | | Verbindung schlägt fehl (`connection refused`) | Falsche URL oder Server läuft nicht | URL/Port prüfen, `systemctl status mattermost` | --- ## Kurzreferenz (Cheat Sheet) ```bash # Anmelden mmctl auth login http://localhost:8065 --name local-admin --username --password # Neuen Admin anlegen mmctl user create --email "" --username "" --password "" --system-admin # Bestehenden Nutzer zum Admin machen mmctl roles system_admin # Nutzerliste anzeigen mmctl user list # Abmelden / Session löschen mmctl auth clean ```