Dienst ohne Adminrechte soll Script ausführen welches Adminrechte benötigt - wie lösen.
Hallo, bite um eine kurze Hilfestellung.
Ich habe eine USV die im E-Falle per dort hinterlegtem Batchdateiverweis, die entsprechenden Befehle ausführt.
In dieser Batchdatei, will ich nun den SQLServer Dienst herunter fahren. Hierzu benötige ich Adminrechte, da der Standardaccount des Computers nur Benutzerrechte hat.
Um dieses Problem zu Lösen habe ich mit runasspc eine verschlüsselte ausführung von dem Befehl erstellt.
Wenn ich die Batchdatei nun per Hand starte, funktioniert alles hervorragend.
Führe ich einen USV Test aus, wird der SQL Server Dienst jedoch nicht beendet. Vermutlich liegt es daran, das der Dienst der für die USV läuft nur mit Benutzerrechten ausgestattet ist (lokales System). Stelle ich nun ein, dass der USV Dienst mit Adminrechten ausgeführt wird, dann lässt sich der SQL Server Dienst auch beim Shutdown vernünftig beenden.
Soweit so gut.
Nun möchte ich aber ungerne den Dienst als Admin ausführen lassen. Sicherheitsrisiko wäre z.B. das an der Batchdatei von jemandem was geändert wird und dann sonstwas mit dem System gemacht werden könnte, da ja alles als Admin ausgeführt wird.
Ich gehe mal davon aus, das der USV Dienst die rechte auf die Batchdatei vererbt, kann man das nicht irgendwie abändern? Die Lösung mit meinem verschlüsselten runasspc Befehl wäre ja eigentlich viel sicherer und praktikablerer was auch den Einrichtungsaufwand für viele solcher Systeme anginge.
Schon mal Danke für Hilfe.
Ich habe eine USV die im E-Falle per dort hinterlegtem Batchdateiverweis, die entsprechenden Befehle ausführt.
In dieser Batchdatei, will ich nun den SQLServer Dienst herunter fahren. Hierzu benötige ich Adminrechte, da der Standardaccount des Computers nur Benutzerrechte hat.
Um dieses Problem zu Lösen habe ich mit runasspc eine verschlüsselte ausführung von dem Befehl erstellt.
Wenn ich die Batchdatei nun per Hand starte, funktioniert alles hervorragend.
Führe ich einen USV Test aus, wird der SQL Server Dienst jedoch nicht beendet. Vermutlich liegt es daran, das der Dienst der für die USV läuft nur mit Benutzerrechten ausgestattet ist (lokales System). Stelle ich nun ein, dass der USV Dienst mit Adminrechten ausgeführt wird, dann lässt sich der SQL Server Dienst auch beim Shutdown vernünftig beenden.
Soweit so gut.
Nun möchte ich aber ungerne den Dienst als Admin ausführen lassen. Sicherheitsrisiko wäre z.B. das an der Batchdatei von jemandem was geändert wird und dann sonstwas mit dem System gemacht werden könnte, da ja alles als Admin ausgeführt wird.
Ich gehe mal davon aus, das der USV Dienst die rechte auf die Batchdatei vererbt, kann man das nicht irgendwie abändern? Die Lösung mit meinem verschlüsselten runasspc Befehl wäre ja eigentlich viel sicherer und praktikablerer was auch den Einrichtungsaufwand für viele solcher Systeme anginge.
Schon mal Danke für Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146610
Url: https://administrator.de/contentid/146610
Ausgedruckt am: 26.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Wenn Du die Batchdatei so abspeicherst, dass nur ein Admin an sie heran kommt, dann sollte das doch kein Problem sein. Außerdem war ich bisher der Meinung, dass das Systemkonto durchaus quasi Adminrechte (= Vollzugriff auf das System) hätte. Schau mal unter [1]. Nach dieser Beschreibung zu urteilen ist dem auch so...
[1] http://technet.microsoft.com/de-de/library/bb680595.aspx
[1] http://technet.microsoft.com/de-de/library/bb680595.aspx
Hi.
Du lässt ein paar Infos bei Seite: Welches Betriebssystem? Arbeitet die USV-Software wirklich nicht bereits mit Systemrechten (als Dienst)? Wäre anzunehmen.
Andernfalls: erstelle einen geplanten Task mit geeignetem Benutzerkonto. Diesen kann Dann Deine Batch starten. Was der Task wiederum macht, steht in einer Batch, die möglichst gar nicht auf dem Rechner selbst liegt, sondern auf einer Freigabe, auf die alle nur Lesezugriff haben. Der Task ist nur vom Ersteller veränderbar.
Du lässt ein paar Infos bei Seite: Welches Betriebssystem? Arbeitet die USV-Software wirklich nicht bereits mit Systemrechten (als Dienst)? Wäre anzunehmen.
Andernfalls: erstelle einen geplanten Task mit geeignetem Benutzerkonto. Diesen kann Dann Deine Batch starten. Was der Task wiederum macht, steht in einer Batch, die möglichst gar nicht auf dem Rechner selbst liegt, sondern auf einer Freigabe, auf die alle nur Lesezugriff haben. Der Task ist nur vom Ersteller veränderbar.
Hallo,
bist du dir sicher, dass der Dienst die Batchdatei überhaupt ausführen kann? Ich kenne das von Scheduled Tasks: man erstellt eine Batchdatei, testet die mit Nutzer x, richtet dann einen Scheduled Task ein, der als Nutzer x ausgeführt wird, und passieren tut - nichts. Die cmd kann von "herkömmlichen" Nutzern nämlich nur ausgeführt werden, wenn diese auch interaktiv angemeldet sind (Berechtigung über entsprechende Built-In Gruppe) - was weder ein Scheduled Task, noch ein Dienst ist. Siehe http://support.microsoft.com/kb/867466
Gruß
Filipp
Edit: okay, Local System sollte per default zum Ausführen berechtigt sein. Aber sicherheitshalber mal checken.
bist du dir sicher, dass der Dienst die Batchdatei überhaupt ausführen kann? Ich kenne das von Scheduled Tasks: man erstellt eine Batchdatei, testet die mit Nutzer x, richtet dann einen Scheduled Task ein, der als Nutzer x ausgeführt wird, und passieren tut - nichts. Die cmd kann von "herkömmlichen" Nutzern nämlich nur ausgeführt werden, wenn diese auch interaktiv angemeldet sind (Berechtigung über entsprechende Built-In Gruppe) - was weder ein Scheduled Task, noch ein Dienst ist. Siehe http://support.microsoft.com/kb/867466
Gruß
Filipp
Edit: okay, Local System sollte per default zum Ausführen berechtigt sein. Aber sicherheitshalber mal checken.