Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Upload scheitert wegen falschen Rechten

Frage Entwicklung PHP

Mitglied: Bierkistenschlepper

Bierkistenschlepper (Level 2) - Jetzt verbinden

12.07.2011, aktualisiert 20:42 Uhr, 4872 Aufrufe, 4 Kommentare

Hallo,

ich habe nach einem Serverumzug für einen Kunden ein kleines Upload-Skript programmiert. Es sollen Fotos hochgeladen werden. Das Speichern der Bilder scheiterte, weil die Rechte des Zielordners ../uploads/slideshow falsch gesetzt waren.

Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?

Ich dachte zum speichern braucht man nur Schreib-Rechte? Aktuell hat der Ordner die Rechte 777. Mit 666 schlägt der Upload reproduzierbar fehl.
Warning: move_uploaded_file(../upload/slideshow/1.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/web6/html/admin/slideshow.php on line 58

Ist das nicht ein Sicherheitsrisiko? Immerhin kann man ja ausführbare Datein als Bild tarnen.

Und noch eine Frage: Welche Rechte hat denn der anonyme Besucher der Seite? Läuft der unter "Andere"? Und ich bin der Besitzer?

Was sind "normale" Rechte für einen Webserver mit ein wenig PHP und einem Upload? Wobei ich hinzufügen muss, dass die Seite sehr unübersichtlich und schlecht programmiert wurde (nicht von mir).. Es lassen sich schlecht verzeichnisweise Rechte setzen.

Ich frage das alles ur, weil ich da keine Sicherheitslücken programmieren will.

Server läuft auf aktuellem Debian und als FTP-Client nutze ich Cyberduck (Win).
Mitglied: Hitman4021
12.07.2011 um 22:17 Uhr
Zitat von Bierkistenschlepper:
Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?
Nein!

Ich dachte zum speichern braucht man nur Schreib-Rechte? Aktuell hat der Ordner die Rechte 777. Mit 666 schlägt der Upload
reproduzierbar fehl.
Warning: move_uploaded_file(../upload/slideshow/1.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in
/var/www/web6/html/admin/slideshow.php on line 58
Was für eine Gruppe hat der Webserver und Ftp Server?
Welche Gruppe hat der User?
FTP Rewrite und Unmask einträge?

Ist das nicht ein Sicherheitsrisiko? Immerhin kann man ja ausführbare Datein als Bild tarnen.
Ja definitiv

Und noch eine Frage: Welche Rechte hat denn der anonyme Besucher der Seite? Läuft der unter "Andere"? Und ich bin
der Besitzer?
Der Zugriff über den Browser läuft unter dem User Apache bzw der Gruppe von Apache.

Was sind "normale" Rechte für einen Webserver mit ein wenig PHP und einem Upload? Wobei ich hinzufügen muss,
dass die Seite sehr unübersichtlich und schlecht programmiert wurde (nicht von mir).. Es lassen sich schlecht
verzeichnisweise Rechte setzen.
Rechte normal 660 bzw 770 oder eben eine Mischung je nachdem.

Ich frage das alles ur, weil ich da keine Sicherheitslücken programmieren will.
Ich würde mit keinem Server online gehen wo die website nur mit 777 läuft außer ich habe PHP wirklich sicher konfiguriert. Hast du das?

Server läuft auf aktuellem Debian und als FTP-Client nutze ich Cyberduck (Win).
Also Debian 6.0.0, Apache, PHP 5.3+ und welchem FTP Server?

Gruß Hitman
Bitte warten ..
Mitglied: Arano
12.07.2011 um 23:20 Uhr
Guten Abend zusammen.

Zitat Wikipedia - Unix-Dateirechte
Ausführen
(engl. execute) Der Benutzer darf die Datei als Programm ausführen bzw. in das Verzeichnis wechseln und dort Dateien oder Unterverzeichnisse erreichen. Ohne das Lesen-Recht darf der Verzeichnisinhalt jedoch nicht ausgelesen werden. Dieses Recht wird oft durch den Buchstaben „x“ für englisch execute („ausführen“) dargestellt und daher auch X-Bit genannt.

Das kann dann so aus sehen:
01.
arano@lamp:~/cpp$ ls -l test 
02.
insgesamt 576 
03.
-rwxr-x--- 1 arano arano   1331  3. Juli 19:33 pop3-cache.tmp 
04.
-rwxr-x--- 1 arano arano   2475  3. Juli 19:33 test.cpp 
05.
-rwxr-x--- 1 arano arano 140800  3. Juli 19:33 test.exe 
06.
-rwxr-x--- 1 arano arano  44269  3. Juli 19:33 test.obj 
07.
-rwxr-x--- 1 arano arano 393216  3. Juli 19:33 test.tds 
08.
arano@lamp:~/cpp$ chmod a-x test 
09.
arano@lamp:~/cpp$ ls -l test 
10.
ls: Zugriff auf test/test.obj nicht möglich: Keine Berechtigung 
11.
ls: Zugriff auf test/pop3-cache.tmp nicht möglich: Keine Berechtigung 
12.
ls: Zugriff auf test/test.cpp nicht möglich: Keine Berechtigung 
13.
ls: Zugriff auf test/test.tds nicht möglich: Keine Berechtigung 
14.
ls: Zugriff auf test/test.exe nicht möglich: Keine Berechtigung 
15.
insgesamt 0 
16.
-????????? ? ? ? ?             ? pop3-cache.tmp 
17.
-????????? ? ? ? ?             ? test.cpp 
18.
-????????? ? ? ? ?             ? test.exe 
19.
-????????? ? ? ? ?             ? test.obj 
20.
-????????? ? ? ? ?             ? test.tds 
21.
arano@lamp:~/cpp$ touch ./test/arano 
22.
touch: kann „./test/arano“ nicht berühren: Keine Berechtigung 
23.
arano@lamp:~/cpp$ 
Also kann das PHP-Script / der Webserver / dessen Benutzer auch keine Dateien in dem entsprechendem Ordner erstellen wenn das X-Bit nicht gesetzt ist.


~Arano
Bitte warten ..
Mitglied: Hitman4021
12.07.2011 um 23:31 Uhr
Zitat von Arano:
01.
> arano@lamp:~/cpp$ chmod a-x test 
02.
> arano@lamp:~/cpp$ ls -l test 
03.
> ls: Zugriff auf test/test.obj nicht möglich: Keine Berechtigung 
04.
> ls: Zugriff auf test/pop3-cache.tmp nicht möglich: Keine Berechtigung 
05.
> ls: Zugriff auf test/test.cpp nicht möglich: Keine Berechtigung 
06.
> ls: Zugriff auf test/test.tds nicht möglich: Keine Berechtigung 
07.
> ls: Zugriff auf test/test.exe nicht möglich: Keine Berechtigung 
08.
> insgesamt 0 
09.
> -????????? ? ? ? ?             ? pop3-cache.tmp 
10.
> -????????? ? ? ? ?             ? test.cpp 
11.
> -????????? ? ? ? ?             ? test.exe 
12.
> -????????? ? ? ? ?             ? test.obj 
13.
> -????????? ? ? ? ?             ? test.tds 
14.
> arano@lamp:~/cpp$ touch ./test/arano 
15.
> touch: kann „./test/arano“ nicht berühren: Keine Berechtigung 
16.
> arano@lamp:~/cpp$ 
Und nun hast du die gesamten X Rechte entfernt wodurch niemand mehr was machen darf...
Das ist mir schon klar. aber für diese Anwendung reicht meiner Meinung ein 770 auch und das ist möglicherweise noch einzuschränken je nachdem wie die User Apache/PHP/User den Gruppen zugenordnet sind und je nach PHP Konfiguration.

Gruß
Bitte warten ..
Mitglied: Arano
12.07.2011 um 23:41 Uhr
Hi,

ja damit hast du natürlich recht !
und dagegen will und kann ich auch gar nichts sagen

Zitat von Hitman4021:
> Zitat von Bierkistenschlepper:
> ----
> Nachdem ich dann das Recht "Ausführen" aktiviert habe, ging es plötzlich. Ist das normal?
Nein!
Nur hiergegen hatte ich etwas
Also, das X-Bit muss schon auf dem entsprechendem Ordner gesetzt sein, deswegen ist es schon normal das es ohne nicht ging dafür aber mit.
Das wollte ich nur noch etwas erläutern. Dafür auch das Beispiel

Die Rechte 777 sollten am besten natürlich nicht gesetzt sein. Sondern, wie du es schon beschrieben hast, nur die Nötigsten für die entsprechenden Parteien.


~Arano
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...