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!

Recommended Posts

: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 to comment
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 to comment

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 to comment
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 to comment

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 to comment

:D

Hallo,

hat sich erledigt.

Fehler war, das die 2. Variable leer ist.

 

Unter W2K ist das Datumsformat WOCHENTAG DATUM.

Unter XP ist es bei mit nur DATUM.

 

Somit ist die 2.Variable leer und das würde bedeuten, ich würde Ordner ohne Namen anlegen und das geht nicht.

 

Deswegen auch das "ACCESS DENIED" oder "Zugriff verweigert".

 

:D

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...