Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Fehler beim Löschen eines Directories

Frage Entwicklung PHP

Mitglied: stefvienna

stefvienna (Level 1) - Jetzt verbinden

23.04.2010 um 22:52 Uhr, 2668 Aufrufe, 5 Kommentare

Hallo Allerseits!

ich habe ein seltsames Problem, ich hoffe es kann mir hier jemand weiterhelfen ...

Ich kann auf meinem Webserver (LAMP-System) via PHP Directories und Files anlegen, schreiben, editieren, usw.,
aber ich kann sie nicht mehr löschen - weder unlink noch rmdir noch funktionieren. ich bekomme aber keine Fehlermeldung.
Wenn ich versuche via rename ein Verzeichnis, das ich vorher im selben Skript erstellt habe, in einen anderen Ast zu verschieben,
so wird es zwar komplett in den Zielordner kopiert, aber das Original nicht gelöscht. Was besonders witzig ist: im Originalordner
finden sich Textfiles, JPGs und ein Symbolic-Link. Die JPGs werden korrekt gelöscht, alles andere aber nicht.
Ach ja - chmod funkt auch nicht ...
Für mich sieht das nach irgendeinem Security-Flag aus, das entweder in Apache oder PHP gesetzt ist, aber ich finde einfach nichts dazu.
Any idaes ?

Liebe Grüße,
Ciao, Stefan!
Mitglied: Arano
24.04.2010 um 00:20 Uhr
Hallo Stefan

Es ist schon so spät, und Hellsehen zerrt immer so an meinen Kräften...
Darum frag ich mal einfach nach: "Wie sieht denn dein Quelltext, die Dateistruktur samt rechten und deine Versuche aus !?"

~Arano
Bitte warten ..
Mitglied: stefvienna
24.04.2010 um 00:34 Uhr
Hi Arano,

hier ein Code-Snippet:
01.
function SureRemoveDir($dir, $DeleteMe) { 
02.
        echo "<!-- [DEBUG] inside SureRemoveDir: $dir, $DeleteMe -->\n"
03.
        closedir(opendir($dir)); 
04.
    if(!$dh = @opendir($dir)) return
05.
    while (($obj = readdir($dh))) { 
06.
        if($obj=='.' || $obj=='..') continue
07.
        if (!unlink($dir.'/'.$obj)) SureRemoveDir($dir.'/'.$obj, true); 
08.
09.
    if ($DeleteMe){ 
10.
        closedir($dh); 
11.
        rmdir($dir); 
12.
13.
14.
 
15.
$CurDir = getcwd(); 
16.
chdir('<some safe dir>'); 
17.
if (rename($oldPath, $newdir)) { 
18.
                                echo "<!-- [DEBUG] Rename OK, SureRemoveDir: $oldPath, $newdir, $ret_val -->\n"
19.
                                $ret_val1 = SureRemoveDir($oldPath, true); 
20.
                                $Index = substr($Event, (strlen($Event)-3)); 
21.
                                $cmd = sprintf("/bin/rm -rf %s", $oldPath); 
22.
                                $ret_val2 = shell_exec($cmd); 
23.
                                // echo "<!-- [DEBUG] CMD: $cmd: $ret_val2 -->\n"
24.
                                // rename($oldPath, '/PartyAt/www.party.at/htdocs/TRASH'); 
25.
} else
26.
                                echo "<!-- [DEBUG] Rename NOT OK, SureRemoveDir: $oldPath, $newdir, $ret_val -->\n"
27.
                                echo "Achtung - Verschieben des Artikel von $oldPath nach $newdir ist fehlgeschlagen!<br>\n"
28.
                                if (is_dir($newdir)) 
29.
                                        $ret_val = SureRemoveDir($oldPath, true); 
30.
31.
chdir($CurDir);
... weder löscht das rename $oldPath, noch tut das exec irgendwas ... es gibt keine Fehlermeldung und der Returnvalue ist OK.
Die Berechtigungen sind ok, alle Files und Dirs gehören dem Apache-User, Apache/PHP hat sie ja auch angelegt.

LG, Stefan!
Bitte warten ..
Mitglied: masterG
05.05.2010 um 09:19 Uhr
Rennt das System auf deinem eignen Server oder ist das ein einfacher Webspace?
Bitte warten ..
Mitglied: stefvienna
05.05.2010 um 10:42 Uhr
Hi,

es läuft auf meinem eigenen Server.
Ich habe den Verdacht, daß einige Files nicht korrekt geschlossen worden sind, also noch offen sind und daher nicht gelöscht werden können.
Ich habe zwar alles kontrolliert und nicht finden können, aber dennoch, es würde das seltsame Verhalten erklären.
Gibt es in PHP eine direkte Möglichkeit, herauszufinden, ob ein File noch offen ist, we nich nur den Pathname aber kein Handle habe ?
Ich werde mal ein exec von "lsof | grep <fname>" vor dem Löschen probieren ...

Ciao, Stefan!
Bitte warten ..
Mitglied: masterG
06.05.2010 um 09:20 Uhr
führ mal folgendes aus:
01.
chown -R www-data:www-data *
und schau ob alles www-data gehört. (Geh ich recht in der annahme das dieses Script per http ausgeführt wird?)
Bitte warten ..
Ähnliche Inhalte
Windows Server
Fehler beim löschen einer Domänenvertrauensstellung
Frage von ExcellsiorWindows Server

Hallo zusammen, ich habe ein Problem und zwar möchte ich eine Domänenvertrauensstellung zwischen einem Server 2010 und einem 2012 ...

Windows Server
Domänenuser löschen schlägt fehl
gelöst Frage von unique24Windows Server4 Kommentare

Hallo! Windows Server 2008 R2: Ich möchte einen user löschen, der aus dem Unternehmen ausgeschieden ist. Exchange ist im ...

Monitoring
Zabbix 3.0 aufgelaufene Fehler wieder löschen bzw. zurücksetzen ?
Frage von ScannerMonitoring10 Kommentare

Hallo zusammen, ich Teste gerade seit ein paar Tagen Zabbix. Habe schon so einiges zusammengebastelt, und beobachte das ganze ...

Visual Studio
Fehler beim Löschen von E-Mails über VB.NET
gelöst Frage von 0belixxVisual Studio3 Kommentare

Hallo Leute, ich brauche mal bitte Hilfe. Folgendes. Ich möchte über VB unteranderem E-Mails in einem bestimmtem Ordner, erst ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 8 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 12 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware8 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...