Proxmox Api

Mar 12, 2018
29
2
8
46
über die Api weise ich einer VM den Benutzer für die Console zu

Code:
            $vms = "/vms/$newvmid";
            $user_settings = array();
            $user_settings['path'] = $vms;
            $user_settings['users'] = "$newvmid@pve";
            $user_settings['roles'] = "PVEVMUser";
            $pve2->put("/access/acl", $user_settings);
gibt es die Möglichkeit hier auch einem zugewiesenen Benutzer kurzzeitig die Gruppe auf NoAccess zu setzen ? z.B. solang der PXE Vorgang läuft ?
 

Leon Gaultier

Active Member
Mar 14, 2019
564
58
28
42
Das sieht ja interessant aus. Ich hatte zum Thema API nur was mit WEB gefunden.
Ist das Perl? Hast Du das pve2 Objekt erstellen müssen oder gibt es das als globales Objekt?


Grüße
 
Mar 12, 2018
29
2
8
46
Das ist die reguläre pve2 api welche oft eingesetzt wird und auch im Proxmox Wiki zu finden ist. Darum geht es aber hier nicht, sondern wie ich hier den status des users in Noaccess ändern kann oder den User von der jeweiligen vms entfernen.
 

fabian

Proxmox Staff Member
Staff member
Jan 7, 2016
3,992
618
133
du meinst solange der PXE vorgang in der VM läuft? nein, das weißt du ja außerhalb nicht (und eine bereits bestehende VNC verbindung ist außerdem nicht von nachträglichen ACL änderungen erfasst).
 
Mar 12, 2018
29
2
8
46
Wenn die KVM neu startet wird, was ja bei PXE notwendig ist, wird die Verbindung ja geschlossen und wieder neu geöffnet bei einem Refresh, daher sehe ich hier nicht das Problem.

Gibt es eine Möglichkeit den User bei nur der einen KVM zu entfernen via Api ?
 

LnxBil

Famous Member
Feb 21, 2015
4,962
513
133
Germany
Das ist die reguläre pve2 api welche oft eingesetzt wird und auch im Proxmox Wiki zu finden ist.
Die API ist REST-basiert, wie man darauf zugreift ist Client-spezifisch und egal so lange man in der Programmiersprache in der man arbeiten will in der Lage ist darauf zuzugreifen.
 
Mar 12, 2018
29
2
8
46
Für alle die welche es interesiert, die Antwort war relativ simple

vor dem PXE Vorgang, den zugewiesenen user, von der VM entfernen

Code:
            $user_settings = array();
            $user_settings['path'] = $vms;
            $user_settings['users'] = "$newvmid@pve";
            $user_settings['roles'] = "PVEVMUser";
            $user_settings['delete'] = "1";
            $pve2->put("/access/acl", $user_settings);
sobald der PXE Vorgang beendet ist, wieder hinzufügen

Code:
            $vms = "/vms/$newvmid";
            $user_settings = array();
            $user_settings['path'] = $vms;
            $user_settings['users'] = "$newvmid@pve";
            $user_settings['roles'] = "PVEVMUser";
            $pve2->put("/access/acl", $user_settings);
 
  • Like
Reactions: Leon Gaultier

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE and Proxmox Mail Gateway. We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!