PHP mkdir() und move_uploaded_file() - Erstellte Ordner lassen sich unter Linux nicht mehr löschen

obilaner

Lt. Junior Grade
Registriert
Apr. 2011
Beiträge
389
Hallo.

Ich wollte mit mkdir() ein verzeichniss erstellen und Dateien dorthin hochladen. Ich habe es mit den Rechten 0777 für mkdir() probiert. Die Dateien kommen danach auch an, aber lassen sich nun nicht mehr löschen unter Linux, genau so wie auch das Verzeichniss selber. Wenn ich stattdessen CHMOD 0700 verwende kann ich danach nichtmal mehr das verzeichniss öffnen, das erzeugt worden ist, aufgrund mangelnder Rechte.

Das subverzeichniss, also das beinhaltende hat maximal vergebbare Rechte von mir bekommen (Über den Dateimanager)

Was muss ich in diesem Fall beachten.
Warum passiert das?

Und idealerweise:
Wie krieg ich die beiden Ordner nun wieder weg, SUDO und Konsole?
 
Stichwort: umask
Und generell: Wenn du glaubst die Rechte auf 0777 setzen zu müssen machst du höchstwahrscheinlich etwas falsch. Bitte informiere dich, wie posix Dateisystemberechtigungen funktionieren.
 
  • Gefällt mir
Reaktionen: Dragon0001
Hallo,

prüfe mal und teile uns mit, welcher User nach dem Erstellen des Ordners und der Dateien der Owner ist.
Liste mal nach dem Erstellen der Dateien über die Console/ Shell alles mit folgendem Kommando auf und sende uns die Ausgabe:
Code:
ls -la

Mit welchem User versuchst du die Ordner/ Dateien zu löschen?
 
Okay gut, hab sie einfach mit root rechten gelöscht :/

Danke erstmal, sehe ein ander mal wieder hier rein.
Ergänzung ()

R00kie schrieb:
Hallo,

prüfe mal und teile uns mit, welcher User nach dem Erstellen des Ordners und der Dateien der Owner ist.
Liste mal nach dem Erstellen der Dateien über die Console/ Shell alles mit folgendem Kommando auf und sende uns die Ausgabe:
Code:
ls -la

Mit welchem User versuchst du die Ordner/ Dateien zu löschen?
drwxr-xr-x 2 daemon daemon 4096 26. Okt 18:56 653a9a2543c6f

Edit:
Als was wird denn mein XAMMP betrieben bzw PHP Standartmäßig?

Im Dateimanager soll man angeben wer welche Rechte welche Gruppe bekommt.
Mit Standarteinstellunen scheitert mein Upload.

Standart wäre:
Besitzer : Ucute
Gruppe: Ucute: Nur lesen
Andere: Nur lesen

Nun hatte ich es auf alle: alles gestellt ^^

Zu welcher Gruppe gehört denn Xampp / PHP und warum?
 
Zuletzt bearbeitet:
der user daemon ist ein user, der ausschliesslich dafür für diesen Zweck da ist. Dies dient der Sicherheit.
 
PHP wird vom Webserver interpretiert und damit läuft PHP unter dem User des Webservers.
In deinem Fall ist das scheinbar "daemon".

Die kannst die Daten, die mit diesem User erstellt wurden, mit dem root-User oder mit dem User "daemon" löschen.
Als User root über diese Wege:
  • Code:
    sudo rm /Pfad/zur/Datei
  • oder von deinem User "Ucute" der User root werden:
    Code:
    sudo -i

Aus Sicherheitsgründen sollten Ordner maximal mit den Rechten 0750 (besser 0700) und Dateien maximal mit 0640 (besser 0600) erstellt. Nur, wenn Dateien ausführbar sein sollen, kannst du 0700 bzw. 0750 für die Datei vergeben. Aber das solltest du nicht für Dateien tun, die vom Webserver geschrieben werden.

Verwende niemals nie 0777 für Dateien ;)

Und am besten liest du im Internet noch etwas Dokumentation über User-Konzepte und Dateiberechtigungen. Du stehst scheinbar noch ganz am Anfang und die Dokumentation im Internet ist viel umfassender und dann auch besser erklärend als unsere Antworten hier.
 
Zurück
Oben