Saltstack
  • Willkommen
  • Einführung
  • Testumgebung
    • Salt-Master öffentlicher FQDN
  • Salt installieren
    • Minions und Master "verheiraten"
  • Salt Module
    • Beispiel Benutzer anlegen
    • Dateien hin und her kopieren
  • Salt States
    • Yaml verstehen
    • Editoren anpassen
    • Beispiel Benutzer verwalten
    • Abhängigkeiten
    • Dateien editieren
    • Shell Kommandos
    • Beispiel Caddy Webserver
  • Linter
  • Minions adressieren
    • Grains
    • Hostgruppen - Node Groups
  • Jinja
    • Beispiel Caddy PHP
  • top.sls
  • Output
  • Pillars
    • Hosts Pillars
    • GPG
    • Vault
    • Datenbanken
    • Beispiel Benutzerverwaltung
  • Salt-Mine
  • Eigene Module erstellen
  • Orchestrierung
  • Returner & Job-Cache
  • Salt SSH
  • Salt API
  • Salt Cloud
    • Hinweise und Fallen
    • KVM und Libvirt
    • Scaleway
    • Digitalocean
    • Hetzner Cloud
    • eigene Deploymentscripte
    • Dynamische Portforwarding
    • Keys automatisch aufräumen
    • Start Aktionen
  • GIT
    • Alternative CD
  • Salt Reactor
  • Salt für Windows
    • Software ohne Repository installieren
    • PowerShell
    • Chocolatey Paktemanager
    • Lokales Logon Skript
    • Software Repository
  • Beispiele
    • Restic Backup
    • Apache Web-Proxy
    • Wartungstunnel
    • Unattended Upgrades
  • Salt & Etcd
  • Salt ACS
Powered by GitBook
On this page
  1. Salt Module

Beispiel Benutzer anlegen

per Salt Modul Benutzer anlegen

PreviousSalt ModuleNextDateien hin und her kopieren

Last updated 5 months ago

Sehen Sie sich ein weiteres Beispiel an. Sie möchten einen Benutzer anlegen. Dazu geben auf der Kommandozeile des Salt-Masters den Befehl salt gefolgt von der Liste von Minions, -in diesem Fall sind es alle, gefolgt vom Modul an. Das Modul heißt user.add und es erwartet als Option den Namen des Benutzers, den sie anlegen möchten. Beispielsweise

salt '*' user.add <DEIN_NAME>

Nun möchten wir, dass im Home Verzeichnis des soeben angelegten Benutzers auch ein SSH-KEY hinterlegt wird, damit sich der Besitzer mit dem passenden privaten Schlüssel an diesem System als unprivilegierter Benutzer anmelden kann. Salt hat auch dafür ein fertiges Modul im Repertoire.

salt '*' ssh.set_auth_key <DEIN_NAME> <KEY> enc='ssh-ed25519' comment='name@domain.tld'
salt '*' ssh.set_auth_key thorsten "AAAAB3NzaC1yc2EAAAABI.....cow==" enc='ssh-rsa' comment='user@email.de'

📖 in der Salt Doku.

Sollte noch kein SSH-Schlüsselpaar existieren, legen Sie diese beispielsweise so an: ssh-keygen -t ed25519 -P "" -C root@salt-master.local

Und das letzte Beispiel zeigt, wie Sie für den soeben angelegten User die Standard-Shell ändern und sudo-Rechte vergeben.

salt '*' user.chshell <DEIN_NAME> /bin/bash
salt '*' file.write /etc/sudoers.d/<DEIN_NAME> "<DEIN_NAME> ALL=(ALL) NOPASSWD:ALL"

Salt verfügt momentan über ca. 300 Module, mit denen sie die Systeme fernsteuern können. Diese Module sind eine Abstraktionsschicht, sodass Sie einheitliche Kommandos verwenden können. Diese werden auf den gezeigten Betriebssystemen in die passenden Kommandos umgewandelt.

Testumgebung anpassen

salt -C 'G@os_family:RedHat or G@os_family:SuSE' pkg.install openssh-server
salt -C 'G@os_family:RedHat or G@os_family:SuSE' service.start sshd
salt -G 'os_family:Debian' pkg.install ssh

Wenn Sie die verwenden, werden die SSH Logins fehlschlagen, weil in den Containern kein SSH Server läuft. Abhilfe schafft:

🕵️‍♂️ Das Beispiel nutzt das sogenannte , welches im nächsten Kapitel beschrieben wird. Da die Pakete für den SSH-Server unterschiedliche Namen haben, ja nach Distributionstyp, müssen Sie den korrekten Namen dem Modul pkg.install übergeben.

hier beschriebene Testumgebung
Minion-Targeting
Weitere Informationen
Benutzer inkl. SSH-Key, Shell und Sudo-Regel anlegen.