Jump to content

XP-Rechte verhindern Zugriff! Wo muß ich ändern?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

:confused: Hallo,

ich versuche nach langer Zeit mal wieder unter Windows mit Perl zu Programmieren.

Habe das sonst unter W2K mit Perl gemacht und hatte keine Probleme.

 

Jetzt möchte ich unter XP SP2 ein Script schreiben um Ordner mit Tagesdatum zu erstellen.

Dies funktioniert unter W2K tadellos, auch als .exe-File.

Unter XP mit SP2 bekomme ich die Meldung "Zugriff verweigert" oder "Access denied".

Dies beim Aufruf der Systemfunktionen, egal ob ich "mkdir" schreibe oder das über "system" versuche.

Hier das Script.

SNIP:

 

#!c:\perl\bin\perl.exe -w

$a = `date \/t`;#Datum auslesen

chomp $a;

my ($a1,$a2) = split (/\s+/, $a); #Datum aufsplitten in 2 Variablen

system "mkdir C:\\$a2"|| die "Kann Verzeichnis nicht anlengen: $!"; #$a1=Wochentag, $a2=Datum, Verzeichnis mit Datum anlegen

print $a;

 

SNAP:

 

Es kann nur an den Berechtigungen oder Sicherheitseinstellungen von XP liegen, doch wo muß ich ändern?

Link zu diesem Kommentar
Dies funktioniert unter W2K tadellos, auch als .exe-File.

Unter XP mit SP2 bekomme ich die Meldung "Zugriff verweigert"

 

 

Greifst Du LOKAL oder über das Netzwerk darauf zu? Ich gehe mal davon aus, dass Du weißt was der Unterschied zwischen Freigabeberechtigungen und NTFS Berechtigungen sind…

 

Das ist in der der 70-270 ganz gut beschrieben... also so auf die schnelle kann man das wohl kaum mal "nebenbei" erklären! :wink2: Es ist "eigentlich" ganz Simple, aber im Konkreten Fall kann man dort durchaus eine Wissenschaft draus machen! :wink2:

 

Jetzt stellt sich nur noch die Frage als „WAS“ greift das Progie denn zu? Bzw. welchen Zugriffstoken besitzt es denn? Und was erlaubt die Datei bzw. das ganze Verzeichnis?

 

Gruß

Link zu diesem Kommentar

Hallo,

ich mache das alles lokal und als User mit Adminrechten!

 

Ich weiß jetzt nicht ganz, wie ich es erklären soll, deshalb mal den Ablauf.

 

Ich schreibe diese Programme auf Windows mit einem speziellen Programm, heißt Optiperl.

Darin kann ich die Perlgramme testen, funktionieren auch wunderbar.

das Programm legt mir im Kommandozeilenfenster auf C:\ den Ordner mit dem aktuellem Datum an.

 

Versuche ich aber auf der Kommandozeile selbst dieses Programm auszuführen, bekomme ich "Zugriff verweigert" oder "Access denied".

Ich starte dazu über Ausführen cmd.exe und erhalte ja das Fenster mit der Dos-Kommanodzeile.

In dem Fenster gebe ich in C:\ dann die Befehlszeile wie folgt ein, entweder

perl ordner.pl

oder einfach

ordner.exe.

 

Ich habe schon versucht, mit dem ProcessMonitor rauszufinden, was los ist.

Dort kann ich sehen, das die cmd.exe bei dem Zugriff auf C:\ ein Access Denied bekommt, da die cmd.exe angelbich nur das Recht hat zu lesen, nicht zu schreiben.

Link zu diesem Kommentar
ich mache das alles lokal und als User mit Adminrechten!

Dort kann ich sehen, das die cmd.exe bei dem Zugriff auf C:\ ein Access Denied bekommt, da die cmd.exe angelbich nur das Recht hat zu lesen, nicht zu schreiben.

 

 

Da kann ich Dir nicht weiter helfen :confused:

Um das script auch wirklich mit Admin Rechten zu starten ... versuche mal

runas /user:AdminAccount script.exe ... aber wenn du schon als Admin angemeldest bist, sollte es Sinnlos sein …mhhh :suspect:

 

PS. Ähm… Überleg -der Compiler übersetzt den Code der Linker macht ein *.exe draus.. also ist der Ersteller der .exe der Linker!

Was hat das "FERTIGE" script.exe File den für Effektive Berechtigungen?

Link zu diesem Kommentar

Hallo,

es ist egal ob es die *.pl oder *.exe ist.

 

Bei beiden erhalte ich den gleichen Fehler.

 

Das runas habe ich schon ausprobiert, klappt auch nicht.

 

Ich sehe es so, das es nur an den Sicherheitseinstellungen liegen kann, anders kann ich es mir nicht mehr erklären.

 

Warum kann das Programm, mit denen ich die Scripte schreibe, sie richtig ausführen, aber wenn ich die Kommandozeile aufrufe und dort die Programme ausführe geht es nicht.

 

Bin völlig ratlos, da wie gesagt, unter W2K lief das ohne Probleme.

 

Trotzdem danke für die Hinweise.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...