Proxmox Benutzerverwaltung

Hinweis: Wir haben in diesem Artikel möglicherweise Provisions-Links verwendet und sie durch (*) gekennzeichnet. Erfolgt über diese Links eine Bestellung, erhält maffert.net eine Provision. Es entstehen für Sie keine Nachteile beim Kauf oder Preis.

Proxmox hat eine sehr schöne Benutzerverwaltung und unterstützt mehrere Anmeldemethoden, wie zum Beispiel: Microsoft Active Directory, LDAP, Linux PAM oder der integrierte Proxmox VE authentication server. Die Rechte können Rollen/Benutzer basiert eingestellt und definiert werden.

Microsoft Active Directory:

authenticationaddad

Linux PAM standard authentication:

authenticationadduser

Anmerkung: Zuvor muss in der Shell (SSH) ein Benutzer mit „adduser“ erstellt werden (in meinem Beispiel: adduser test)!

Proxmox VE authentication server:

Diese Methode würde ich bevorzugen, sieht fast so aus wie die Linux PAM standard authentication und man muss nichts in der Shell (SSH) eintippen. Die Passwörter werden in der Datei „/etc/pve/priv/shadow.cfg“ SHA-256 verschlüsselt gespeichert.

Allgemeines / Begriffe und Definitionen:

Alle Einstellungen bzw. Daten der Benutzer (außer Passwörter) werden in der Datei „/etc/pve/user.cfg“ gespeichert, wie zum Beispiel: Vorname, Nachname, E-Mail Adresse, Ablaufdatum, aktiviert oder deaktiviert, Kommentar

Benutzer:

Ein Benutzer besteht bei Proxmox aus 2 teilen: Benutzerid @ Bereich. Der Hauptadmin Account lautet root@pam, alle System E-Mails werden an die E-Mail Adresse weitergeleitet!

Gruppen:

Es wird empfohlen die Zugriffberechtigungen über Gruppen abzuwickeln, jeder Benutzer kann in mehrere Gruppen zugewiesen werden.

Objekte und Pfade:

Zugriffsberechtigungen werden in Objekte und Pfade definiert. Beispiel Pfade: Virtuelle Maschine /vms/{vmid} (/vms/100) oder Speicher /storage/{storeid} (/storage/local)

Rechte:

Es gibt folgende Rechte:

  • Permissions.Modify: Ändern der Einstellungen
  • Sys.PowerMgmt: Node Energie Management (start, stop, reset, shutdown, …)
  • Sys.Console: Konsolen Zugang zum Node
  • Sys.Syslog: Syslog einsehbar
  • Sys.Audit: zeigt den Node Status und die Konfiguration
  • Pool.Allocate: erstellen, löschen und modifizieren eines Pools

Virtuell Maschinen bezogene Rechte:

  • VM.Allocate: erstellen und löschen neuer Maschinen
  • VM.Migrate: migrieren einer Virtuellen Maschine auf einen alternativ Server im Cluster
  • VM.PowerMgmt: Energie Management (start, stop, reset, shutdown, …)
  • VM.Console: Konsolen Zugang zur Virtuellen Maschine
  • VM.Monitor: Zugang zum „Monitor“ einer Virtuellen Maschine (kvm)
  • VM.Backup: backup/restore (wiederherstellen) der virtuellen Maschinen
  • VM.Audit: zeigt die Konfiguration einer Virtuellen Maschine
  • VM.Clone: klonen/kopieren der Virtuellen Maschine
  • VM.Config.Disk: hinzufügen/modifizieren/löschen von Disks (Festplatten)
  • VM.Config.CDROM: auswerfen/ändern CDROM
  • VM.Config.CPU: modifizieren der CPU Konfigurationen
  • VM.Config.Memory: modifizieren der Speicher Einstellungen
  • VM.Config.Network: hinzufügen/modifizieren/löschen von Netzwerkkarten
  • VM.Config.HWType: modifizieren von simulierter HW
  • VM.Config.Options: modifizieren von sonstigen Einstellungen einer Virtuellen Maschine

Speicher bezogene Rechte:

  • Datastore.Allocate: erstellen/löschen/modifizieren eines Datenspeichers (Storages)
  • Datastore.AllocateSpace: Speicherplatz auf einem Datenspeicher zuweisen
  • Datastore.AllocateTemplate: zuweisen/hochladen von templates und ISO-Images
  • Datastore.Audit: anzeigen/durchsuchen eines Datenspeichers

Rollen:

Eine Rolle ist eine Art Liste von Rechten. Bei Proxmox gibt es vordefinierte Rollen, die die meisten Rechte abdeckt!

  • Administrator: hat alle Rechte
  • NoAccess: hat keine Rechte (wird benutzt um den Zugang zu verbieten)
  • PVEAdmin: kann das meiste, hat aber keine Rechte um Systemeinstellungen, wie zum Beispiel: Sys.PowerMgmt, Sys.Modify, Realm.Allocate zu ändern.
  • PVEAuditor: nur Lesezugriff

Weitere findet man im GUI (Webinterface) ..

Folgende Vererbungsregeln gibt es:

Rechte für individuellen eingestellten Benutzer überschreibt die Gruppenrechte
Rechte für Gruppen gelten, wenn der Benutzer Mitglied der Gruppe ist
Rechte die auf höherer Ebene gesetzt werden, überschreiben immer die geerbten Berechtigungen

Pools (Bereiche):

Pools können dazu verwendet werden um Gruppen bestimmte Virtuelle Maschinen oder Datenspeicher (Storages) zuzuweisen. Zum Beispiel der Benutzer „Hans“ soll den Pool 1 bekommen: /pool/pool1 <=> (/pool/{poolid})

Command Line Tool:

Die meisten Benutzer verwenden das GUI (Webinterface) für die Benutzerverwaltung, dennoch gibt es auch die Möglichkeit alles via Command Line einzustellen:

Um die Hilfe anzuzeigen:

pveum

Oder eine Detaillierte Hilfe für einen bestimmten Befehl:

pveum help useradd

Einen neuen Benutzer erstellen:

pveum useradd testuser@pve -comment 'Just a test'

Passwort setzen oder ändern (nicht für Realms):

pveum passwd testuser@pve

Benutzer deaktivieren bzw. sperren:

pveum usermod testuser@pve -enable 0

Neue Gruppe erstellen:

pveum groupadd testgroup

Neue Rolle erstellen:

pveum roleadd PVE_Power-only -privs "VM.PowerMgmt VM.Console"

Weitere Praxix Beispiele:

Eine Gruppe mit vollen Administrationsrechten erstellen (ohne den root Account)

Gruppe erstellen:

pveum groupadd admin -comment "System Administrators"

Rechte zuweisen:

pveum aclmod / -group admin -role Administrator

Benutzer der Gruppe zuweisen:

pveum usermod testuser@pve -group admin

Auditors:

Benutzern mit „PVEAuditor“ nur Lesezugriff geben.

Beispiel 1: Benutzer ‚joe@pve‘ erlauben, alles zu sehen:

pveum aclmod / -user joe@pve -role PVEAuditor

Beispiel 2: Benutzer ‚joe@pve‘ erlauben, alle Virtuellen Maschinen zu sehen:

pveum aclmod /vms -user joe@pve -role PVEAuditor

Delegierte Benutzerverwaltung:

Benutzer joe@pve die Rechte geben, andere Benutzer zu verwalten sprich ihm die Benutzerverwaltung zu erlauben:

pveum aclmod /access -user joe@pve -role PVEUserAdmin

Benutzer „joe@pve“ hat damit vollen Zugriff. Man kann dies auf bestimmte Bereiche und Gruppen limitieren, z.B. auf den Bereich (realm) „pve“, wenn dieser Benutzer der Gruppe „customers“ angehört:

pveum aclmod /access/realm/pve -user joe@pve -role PVEUserAdmin
pveum aclmod /access/groups/customers -user joe@pve -role PVEUserAdmin

Hinweis: Der Benutzer kann dann zwar andere Benutzer komplett verwalten, aber nur für den Bereich „pve“ und Gruppe „customers“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert