Gewähren des Dateizugriffs für Windows-Dienste

Gewähren des Dateizugriffs für Windows-Dienste

Ich versuche, eine Verbindung mit OpenSSH über einen Dienst herzustellen. Leider erfordert OpenSSH, dass der Authentifizierungsschlüssel nur von dem Benutzer gelesen werden kann, der ihn auch verwenden möchte (falls es eine Möglichkeit gibt, diese Prüfung zu überspringen, habe ich sie noch nicht gefunden). Für normale Benutzer funktioniert das problemlos mit:

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "%username%":"(R)"

Windows-Dienste führen ihren eigenen Semi-User aus und ich bin absolut nicht in der Lage, diesem User die richtigen Dateiberechtigungen zu erteilen.

edit: Wenn jemand gute Ideen für andere Open-Source- oder kostenlos nutzbare SSH-Programme oder -Bibliotheken hat, mit denen Tunnel mit Authentifizierungsschlüsseln erstellt werden können, bin ich ganz Ohr. Viele davon scheinen Probleme mit der ordnungsgemäßen Unterstützung von Windows zu haben.

Antwort1

Als Antwort posten, damit es leichter gefunden werden kann (ursprünglich in Kommentaren).

Der Standardbenutzername, unter dem Windows-Dienste ausgeführt werden, ist einfach „SYSTEM“. Die Befehlszeilenmethode zum Festlegen von Berechtigungen lautet daher:

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "SYSTEM":"(R)"

verwandte Informationen