Setzen von User, welcher Skript ausführen soll möglich?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lordzwieback
User
Beiträge: 55
Registriert: Montag 2. März 2015, 14:35
Kontaktdaten:

Hallo,

ich habe ein Skript entworfen, welches auf eine Ordnerstruktur auf einem NAS-Laufwerk zugreift. Hier hat jeder User seinen eigenen Ordner, in welchem mittels des Skripts eine Sicherung von Daten vorgenommen werden soll. (Auf jeden Ordner hat der Administrator und der jeweilige User Zugriff)

Teste ich den Vorgang nur mit meinem Ordner, funktioniert alles prima. Sobald ich aber das Skript testweise erweitere und einen Kollegen mit in die Abfrage setze, erhalte ich folgende Fehlermeldung:

PermissionError: [WinError 5] Zugriff verweigert: '\\\\IP von NAS\\Freigabe\\User\\Backup'

Gut, soweit klar. Wenn ich das Skript bei mir lokal ausführe, sollte das normal sein. Ich also aufn Server, Skript auf Desktop kopiert und laufen gelassen, bricht direkt ab. Das finde ich komisch, da der Administrator, welcher auch Zugriff auf alle Userordner der Freigabe hat auf diesem Server angemeldet ist. Müsste es dann nicht normalerweise funktionieren?

Die Fehlermeldung kommt übrigens (offensichtlich) aus der ersten Zeile, in welcher eine Datei/Ordner geschrieben werden soll:
os.makedirs(root + usr_folder + "\\Backup\\" + year)
Hat jemand einen Tipp für mich?

Grüße
BlackJack

@lordzwieback: Die Beschreibung ist mir ein bisschen zu schwammig. Du hast das auf den Server kopiert und dort laufen lassen und „der Administrator, welcher auch Zugriff auf alle Userordner der Freigabe hat auf diesem Server angemeldet ist“ soll nun was genau bedeuten? Das an einem System jemand angemeldet ist der etwas darf ändert ja nichts daran was Programme dürfen die nicht von *diesem* Benutzer ausgeführt werden. Als welcher Benutzer warst *Du* denn dort angemeldet und darf *der* Benutzer das. Das ist die entscheidende Frage.

Unter Windows sollte es das ``runas``-Kommando geben mit dem man Programme als jemand anders laufen lassen kann. Natürlich muss man sich dann auch als derjenige authentifizieren.
lordzwieback
User
Beiträge: 55
Registriert: Montag 2. März 2015, 14:35
Kontaktdaten:

Also:
Der gleiche Administrator, welcher auf dem Server angemeldet ist, hat Zugriff auf die Userordner auf der Freigabe.
Die Überlegung war, dass das Skript von dem Konto ausgeführt wird, welches auch angemeldet ist (was es aber offensichtlich nich tut).

Ich werd das mit dem "runas" mal testen, danke.

EDIT: Ich melde mich mit dem Adminkonto am Server an.
lordzwieback
User
Beiträge: 55
Registriert: Montag 2. März 2015, 14:35
Kontaktdaten:

@BlackJack

ich habe es jetzt mit folgendem Befehl getestet:

Code: Alles auswählen

runas /noprofile /user:domain\Administrator "C:\Python35\python.exe \"C:\Pfad\zum\Pythonskript.py""
Nach dem Abschicken werde ich nach dem Adminpasswort gefragt und danach erscheint für eine halbe Sekunde ein Fenster, welches direkt wieder geschlossen wird.

Any ideas? :D
Antworten