von virt-manager auf die shell

Hinweis: In dem Thema von virt-manager auf die shell gibt es 11 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo!


    Ich habe mir mit dem virt-manager (Virtuelle Maschinenverwaltung) eine vm 'test' gebaut. Läuft tiptop. Aber wenn ich in der shell 'virsh list --all' eingebe, dann steht da nix von meiner VM 'test'. Welchen Denkfehler mache ich?


    Danke, Christian

    Für den Inhalt des Beitrages 106549 haftet ausdrücklich der jeweilige Autor: lafranconi

  • Vermutlich bist du User statt root?


    (Ich muss auch erst root werden, obwohl ich wegen meinen Gruppen jede VM auch einfach als user starten kann und mit dem bunten Zeuchs managen kann.)

  • Morgen! Ja, ich bin user in den Gruppen kvm, qemu und libvirt.


    Wollte mir nen Script schreiben, das die VM hochfährt und anzeigt ohne jedes mal das root Kennwort einklimpern zu müssen. Und das dann ins Plasma Anwendungsmenu hängen, (Damit auch meine Frau ganz einfach an die Windows VM kommt, wenn sie denn mal iTunes braucht für Ihr %&#& iPhone). Jemand ne Idee?


    Edit / Ergänzung:
    Wenn ich nämlich die VM von der Shell aus starten ('virsh start test') will bekomme ich ne "Domain not found" Fehlermeldung. Und wie gesagt, mit 'virsh list --all' seh ich auch keine VM ...

    Einmal editiert, zuletzt von lafranconi ()

    Für den Inhalt des Beitrages 106555 haftet ausdrücklich der jeweilige Autor: lafranconi

  • noch mal schön langsam:
    Kannst als root mit virsh list --all deine VMs sehen?


    Dann hilft ein virsh autostart <name>


    Wenn nicht, hast du ein größeres Problem, als nur das Einschalten in YaST/System/Dienste-Verwaltung.

  • Also ...

    Code
    sudo virsh list --all


    listet mir brav alle meine VMs. Also alles gut.


    Aber wenn ich alles richtig verstanden hat, dann markiert 'virsh autostart' eine VM für den automatischen start beim nächsten booten. Das ist nicht ganz das, was ich möchte. Die VM soll nicht bei jedem Start automatisch hochfahren. Sondern nur, wenn ich sie denn mal brauche (oder eben meine Frau, also ein anderer user). Und dann ohne root Kennwort aus dem Anwendungsmenü heraus, so dass gleich der virtuelle Bildschirm zu sehen ist.


    Habe mir jetzt ein Script gebaut und experimentiere mit der SetUID für root root rum:

    Bash
    #!/bin/bash
    whoami
    virsh list --all
    virsh start testVM
    DISPLAY=$DISPLAY XAUTHORITY=~/.Xauthority virt-viewer testVM


    Aber das whoami gibt meinen user-Namen aus (sollte das nit root sein) und dementsprechend sieht auch virsh keine VM. :(

    Code
    /usr/local/bin> stat startwin 
      Datei: startwin
      Größe: 123            Blöcke: 8          EA Block: 4096   reguläre Datei
    Gerät: 38h/56d  Inode: 276         Verknüpfungen: 1
    Zugriff: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
    Zugriff    : 2017-03-24 22:44:59.752362724 +0100
    Modifiziert: 2017-03-24 22:34:37.232229952 +0100
    Geändert   : 2017-03-24 22:44:42.956469258 +0100
     Geburt    : -

    2 Mal editiert, zuletzt von lafranconi ()

    Für den Inhalt des Beitrages 106571 haftet ausdrücklich der jeweilige Autor: lafranconi

  • Es ist halt mal per definitionem so, dass ein sudo genau das tut, was der Name sagt:
    SubstituteUserAndDO. Es setzt voraus, dass in der Datei sudoers für einen User (oder eine Gruppe) ein Befehl ganz exakt all seinen Optionen und Argumenten definiert ist.
    Nur genau diesen exakt definierten Befehl darf der User dann als root ausführen.


    Die sudoers lässt sich ebenfalls via YaST editieren.


    Ich denke aber, dass es reichen sollte, einfach deine Frau auch die entsprechenden Gruppen zuzuweisen, damit sie einfach das Ding starten kann. Ebenfalls in YaST in der Benutzerverwaltung leicht zu machen.

  • Schlaft Ihr hier nie? ;)


    Bin gerade darüber gestolpert: Allow setuid on shell scripts
    Wieder was gelernt: SetUID geht nicht bei Scripten!


    Und nein, die Gruppen reichen nicht. Denen bin ich ja auch zugewiesen. Und ich kann die VMs von der Shell aus nur mittels sudo starten und anzeigen. Ich werde also den Weg über /etc/sudoers gehen müssen. Danke für den Tipp!

    Für den Inhalt des Beitrages 106573 haftet ausdrücklich der jeweilige Autor: lafranconi

  • Das ist falsch.
    Wenn du etwas nicht schaffst, heißt das noch lange nicht, dass "es nicht geht".


    Bei mir klappt das einwandfrei.


    Doch wie immer, kommt ein "geht nicht", statt vernünftiger Infos.
    Hilfreich wäre, wenn du schreiben würdest, "obwohl ich in folgenden Gruppen ..... bin, gelingt es mir nicht..."


    Ich würde dir dann einfach die fehlenden Gruppen nennen.


    Es wären auch die Einstellungen der Dienste, wie schon geschrieben, interessant.


    Try again later....

  • Zitat von Berichtigung

    Doch wie immer, kommt ein "geht nicht", statt vernünftiger Infos. Hilfreich wäre, wenn du schreiben würdest, "obwohl ich in folgenden Gruppen ..... bin, gelingt es mir nicht..."

    Entspannen und lesen (mein zweites Posting erste Zeile):

    Zitat von Lafranconi

    Ja, ich bin user in den Gruppen kvm, qemu und libvirt.

    Welche Infos brauchst du aus der Diensteverwaltung?

    Für den Inhalt des Beitrages 106606 haftet ausdrücklich der jeweilige Autor: lafranconi

  • Tatsächlich?
    Ich entnahm deinen Ausführungen, dass du in diesen Gruppen wärst, nicht deine Frau/Freundin/anderer User/anderes Script.


    Wenn du das richtig machst, kann jeder User, der in diesen Gruppen ist, jede VM nach Gusto starten.
    Wenn das bei dir nicht geht, dann hängt etwas anderes schief.


    Dein Weg via virsh ist ein Irrweg.
    Dafür musst du root sein.


    Und ich brauche keine Infos aus deinen Diensten.
    Dir sollte ein Licht aufgehen, wenn du dir das mal genauer anschaust.