sudo per bashScript automatisieren?

Soahc

Gast
Hallo Zusammen,

wenn ich den Befehl "sudo /Applications/VMware\ Fusion.app/Contents/MacOS/vmware" und das dazugehörige Administrator-Passwort in der bash-Console eingebe kann ich VMWare Fusion mit root-Rechten starten. Das muss ich machen um bestimmte Funktionen "freizuschalten", die sonst nicht zur Verfügung stünden.
Nun aber zu meiner Frage. Ist es möglich, das Ganze auch über ein bash-script (oder ähnlichem) zu lösen, wobei sudo-Befehl und Administrator-Passwort schon enthalten sind?! Also ich möchte am Ende eigendlich nur noch auf eine Script-Datei oder Verknüpfung doppel-klicken müssen um VMWare als root zu starten.

mit freundlichen Grüßen,

Soahc
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Damit jedes virenverseuchte Windowsprogramm gleich mit Rootrechten auf dem Mac läuft. Na schöne Ideen hast Du da.
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
rastafari hat mich in einem anderen Thread in einem anderen Zusammenhang auf etwas gebracht, daß Dir vielleicht nutzt. Schau Dir das angehängte mal an. Du kannst es doppelkicken und mußt nur noch das passwort für sudo eingeben.
 

Anhänge

  • vmware-root.term.zip
    32,6 KB · Aufrufe: 165

dustbunny

Granny Smith
Registriert
09.01.08
Beiträge
16
Damit jedes virenverseuchte Windowsprogramm gleich mit Rootrechten auf dem Mac läuft. Na schöne Ideen hast Du da.

Seit wann können Windowsprogramme, die unter VMware laufen, auf den Mac zugreifen? Das geht meines Wissens nur über Freigaben, bei denen man wiederum die Rechte gesondert einstellt.
 

zeno

Lane's Prinz Albert
Registriert
05.11.05
Beiträge
4.894
Seit wann können Windowsprogramme, die unter VMware laufen, auf den Mac zugreifen? Das geht meines Wissens nur über Freigaben, bei denen man wiederum die Rechte gesondert einstellt.

Es könnte ja irgendwann mal n Exploit um die Ecke kommen der sich aus einer VM ausbrechen kann.
 

dustbunny

Granny Smith
Registriert
09.01.08
Beiträge
16
Es könnte ja irgendwann mal n Exploit um die Ecke kommen der sich aus einer VM ausbrechen kann.

Ja, Ja, es könnte ja auch irgendwann mal n Exploit um die Ecke kommen, der auch ohne Rootrechte den Host-Rechner platt macht. Ich denke der wäre sogar einfacher zu programmieren.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Programme unter root laufen zu lassen, ist möglichst zu vermeiden. Vor allem so unübersichtlich große Dinger.
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Ganz nebenbei: Man kann sudo so konfigurieren, dass ein bestimmter Benutzer ein bestimmtes Programm unter einem bestimmten anderen Benutzer ausfuehren kann, wahlweise ohne Passwort. man sudo, wie immer.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Ganz nebenbei: Man kann sudo so konfigurieren, dass ein bestimmter Benutzer ein bestimmtes Programm unter einem bestimmten anderen Benutzer ausfuehren kann, wahlweise ohne Passwort. man sudo, wie immer.

Gib mal ein konkretes Beispiel.
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Gegenfrage auf gleichem Niveau:
Seit wann muss eine VM als root laufen?
Berechtigte Frage. Das sollte man, wie schon andere hier bemerkt haben, natuerlich nicht tun.

Gib mal ein konkretes Beispiel.
http://www.gratisoft.us/sudo/man/sudoers.html#nopasswd_and_passwd
Code:
 MacMark ALL = NOPASSWD: /usr/sbin/chown
Benutzer MacMark darf auf allen Hosts den Befehl chown als root ausfuehren, ohne ein Passwort eingeben zu muessen. sudo chown wuerde also nicht fuer ein Passwort fragen.
 

Soahc

Gast
Erstmal vielen Dank für die vielen Antworten. Trotzdem wundere ich mich als Neuling in diesem Forum schon sehr, auf welchem Niveau hier Diskussionen geführt werden. Wieso wird sich hier der Mund darüber zerrissen, ob ich meine VM mit root-Rechten starten sollte, ob sie überhaupt mit root-Rechten gestartet werden sollte und wie gefährlich das doch ist.. etc., wenn ich doch überhaupt keine Hintergrundinformationen darüber gegeben habe, aus welchem Grund und in welchem Kontext die VM root Rechte bekommen soll?

Natürlich ist mir klar, dass kein Userprogramm standardmäßig mit root-Rechten laufen sollte. In meinem speziellen Fall muss ich aber ab und zu unternehmensinterne Windowstools zur Netzwerkanalyse in der VM laufen lassen und da diese Progeramme den Netzwerktreiber von MacOs in den "promiscuous mode" schalten müssen, dies aber nur funktioniert, wenn die VM root-Rechte besitzt, muss ich sie eben mit RootRechten starten. Das kommt letztendlich zwar nur 1-2 mal im Monat zustandande, trotzdem hätte ich gern eine elegantere Lösung gehabt, als den String zum starten der VM jedes mal aus einer Textdatei in das Terminal-Fenster zu kopieren. Und genau aus diesem Grund meine Frage im Forum... nicht mehr, nicht weniger.

@ Skeeve: Vielen Dank! Das ist schon mal eine sehr schöne Lösung und so ist es mir sogar noch etwas lieber. Denn es war eine nicht besonders Clevere Idee, von mir, das Passwort direkt in das Script zu schreiben.



 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Wieso wird sich hier der Mund darüber zerrissen, ob ich meine VM mit root-Rechten starten sollte, ob sie überhaupt mit root-Rechten gestartet werden sollte und wie gefährlich das doch ist.. etc., wenn ich doch überhaupt keine Hintergrundinformationen darüber gegeben habe, aus welchem Grund und in welchem Kontext die VM root Rechte bekommen soll?
Du sagst es ja gleich selbst: Du hast keine Hintergrundinformationen gegeben. Darum wissen wir nicht, dass du weisst, was du tust. Und wer sagt, er wolle irgendetwas als root ausfuehren, er jedoch nicht zu erkennen gibt, dass er weiss, was er tut, und sich bewusst ist, was das bedeutet... Tja, dann muessen wir annehmen, dass er dies nicht weiss, und aufgrund von irgendwelchen fehlenden Berechtigungen das ganze einfach mal als root versuchen will. Es gibt viele User, die so handeln wuerden. Wenn du nicht genuegend Informationen ueber dein Vorhaben lieferst, musst du damit rechnen, dass dieses hinterfragt wird. Wir koennen ja nicht wissen, was du weisst :)

gruss
Jonathan
 

aedon

Gast
Hallo Zusammen,

wenn ich den Befehl "sudo /Applications/VMware\ Fusion.app/Contents/MacOS/vmware" und das dazugehörige Administrator-Passwort in der bash-Console eingebe kann ich Windows in VMWare Fusion mit root-Rechten starten. Das muss ich machen um bestimmte Funktionen "freizuschalten", die sonst nicht zur Verfügung stünden.

Nein das mußt Du nicht. Bitte nennen welche Funktionen das sein sollen!
Z.B. Ich lasse Windows in VMWare von einer physikalischen Platte laufen. Dafür brauche ich die Schreibrechte für die Gruppe 'disk' auf /dev/sda1. Das habe ich mir für den Bootvorgang mit Rootrechten gescriptet.

Nun aber zu meiner Frage. Ist es möglich, das Ganze auch über ein bash-script (oder ähnlichem) zu lösen, wobei sudo-Befehl und Administrator-Passwort schon enthalten sind?!

/etc/sudoers ist dein Freund
Eine Zeile wie:
user ALL = (ALL) NOPASSWD: ALL
bewirkt, dass du keine Passabfrage mehr hast.
Anstatt des letzten 'ALL' kannst du auch die einzelnen (nur die benötigten) Befehle reinschreiben. (Funktioniert zumindest so unter Linux)

Also ich möchte am Ende eigendlich nur noch auf eine Script-Datei oder Verknüpfung doppel-klicken müssen um VMWare als root zu starten.

Gibt's für die Auqua kein GUI-su? Unter KDE gibt's 'kdesu'

Last but not least.
Ein globales NOPASSWD ist gefährlich. Du kannst aber z.B. einen zweiten User anlegen und das Ganze ohne Netzzugang in einem 'Jail' laufen lassen.

Wie immer: Es gibt Mittel und Wege. Google mal oder stelle Deine Fragen gezielter. ;)

MfG
/aedon
 

aedon

Gast
In meinem speziellen Fall muss ich aber ab und zu unternehmensinterne Windowstools zur Netzwerkanalyse in der VM laufen lassen und da diese Progeramme den Netzwerktreiber von MacOs in den "promiscuous mode" schalten müssen, dies aber nur funktioniert, wenn die VM root-Rechte besitzt, muss ich sie eben mit RootRechten starten.

Dafür braucht eine VM nur die Schreibrechte auf die VMWare-Treiber. Dafür kannst du doch eine Netzgruppe benutzen.

Danach ein reicht einfaches chmod g+w
/dev/vmnet* (kenne den Pfad und den Treibernamen noch nicht , da mein Mac Pro erst nächste Woche geliefert wird.)

So ein Befehl schreibst du dann z.B. in das Bootscript.

Nichtsdestotrotz, Du brauchst doch keine VM um in den "promiscuous mode" zu schalten. ;)

MfG
/aedon
 

Soahc

Gast
Nichtsdestotrotz, Du brauchst doch keine VM um in den "promiscuous mode" zu schalten. ;)


Das nicht, aber die Analysis-tools laufen nur unter Windows XP SP2 und ich möchte mir ungern Windows nativ auf der Hardware installieren. So wäre doch die VM ein guter Kompromiss, oder?!

Dafür braucht eine VM nur die Schreibrechte auf die

VMWare-Treiber. Dafür kannst du doch eine Netzgruppe benutzen.
Danach ein reicht einfaches chmod g+w
/dev/vmnet* (kenne den Pfad und den Treibernamen noch nicht , da mein Mac Pro erst nächste Woche geliefert wird.)

Meine Lösung für das Problem stammt aus dem offiziellen VM-Ware Forum und es war bisher die einzige, die ich gefunden habe. Du scheinst Dich aber gut auszukennen... also vielleicht kannst Du Dich ja noch mal kurz hier melden, wenn Du nächste Woche deinen Mac Pro bekommen hast. Wäre mir natürlich noch lieber, wenn es ohne root-Rechten gehen würde!

lg, Soahc
 

aedon

Gast
Das nicht, aber die Analysis-tools laufen nur unter Windows XP SP2 und ich möchte mir ungern Windows nativ auf der Hardware installieren. So wäre doch die VM ein guter Kompromiss, oder?!

Du hast mich missverstanden. Ich meinte damit, dass es nicht *notwendig* ist VMWare zu starten um den "promiscuous mode" auf dem vmnet device zur Verfügung zu stellen.

1. Finde die Location des vmnet devices. Unter linux sind das alle /dev/vmnet*
2. Checke die Rechte mit ls -l
/dev/vmnet* Wenn du dort eine Gruppe mit Schreibrechten auf das device findest, dann füge user: 'vmware' dieser Gruppe hinzu (Usermanagement). Unter meinem Linux gibt's so eine Gruppe nicht!

Wenn das nicht klappt, dann:

sudo chgrp users /dev/vmnet*
sudo chmod g+w /dev/vmnet*

bewirkt Wunder. ;)

Automatisieren kannst du das mit dem Bootscript, dann aber ohne sudo, da der sowieso mit Root-Rechten ausgeführt wird. Oder mach daraus ein bash script und schalte ihn in der /etc/sudoers frei.

Fertigsachen gibt's nur für Windows.

MfG
/aedon

NB. Ich werde kein VMWare unter OSX installieren! Brauche ich nicht, denn dann rennt mein Photoshop native. ;)
 
Zuletzt bearbeitet von einem Moderator:

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
da diese Progeramme den Netzwerktreiber von MacOs in den "promiscuous mode" schalten müssen
ROFL
Wünsche viel Spass mit Sasser und Co.
Du wolltest doch wissen wie Windows-Schadsoftware auf deinen Mac zugreifen soll?
Du hast dir die Antwort selbst gegeben.