Archiv verlassen und diese Seite im Standarddesign anzeigen : Berechtigungsfrage
Hi,
habe hier ein Uploadscript (PHP) welches ein Ordner ausliest, derzeit ist es so:
/srv/htdocs/www/testdomain.de/uploadscript/uploads
Aus dem uploads Ordner werden die Dateien ausgelesen.
Ich möchte nun nur den Uploadordner verschieben nach /home/user01/uploads
Welche Rechte muss ich dem user "USER01" vergeben, damit er in den Ordner Dateien upload kann?
Ciao
nocheiniggy
07.04.05, 16:20
Wer übernimmt den Upload? Der User, oder der PHP-Server?
Wie erfolgt der Upload?
Hi,
also das Script sieht so aus, der User hat ein Webfrontend PHP, dort kann er eine Datei auswählen und uploaden. Das ganze macht also der Webserver, ich möchte jedoch das Uploadverzeichnis in das homedirectory legen.
Nur welche Rechte muss ich vergeben?
Neue Gruppen machen, webuser und user01 in eine Gruppe, dieser Gruppe dann Rechte auf das home Verzeichnis geben?
Ciao
Naja, ein PHP script wird wohl mein vom Webserver ausgeführt - keine Ahnung welcher das FRAD ist. Also nutzt es wenig, dem user01 bestimmte Rechte zu geben, sondern es muß vielmehr der Benuter, unter dessen Kennung der httpd läuft, oder dessen Gruppe die Rechte +w und besser auch +x auf dem betreffenden Verzeichniss haben. Bei mir wäre das der user "wwwrun". Man könnte vielleicht:
chgrp "gruppe unter dem der httpd läuft" /home/user01/uploads
chmod g=wx /home/user01/uploads
Wenn das Dateisystem ACL unterstützt könnte man auch etwas feiner mit setfacl arbeiten und bräuchte nicht die Gruppe des Ordners zu ändern.
HTH,
mamue
nocheiniggy
07.04.05, 17:21
Was du nicht tun solltest, ist den User in die Gruppe einräumen, in der der httpd sitzt.
Also User01 der Gruppe wwwrun zuzuordnen.
Aber dem Ordner Upload Schreibrechte für wwwrun zu gehen, müsste gehen.
Wenn es keine heiklen Daten sind, könntest du auch jedem ein Schreibrecht auf den Upload-Ordner geben(aber das willst du sicher nicht? Würd ich auch nicht wollen)
Hi,
habe ich das richtig verstanden, wenn ich dem wwwrun das Recht gebe, auf den ordner dann geht es, aber wie sieht es da aus, wenn der user01 auch noch schreibrechte benötigt?
Kann ja keinen 2 Usern das Schreibrecht auf ein Ordner geben. Müsste dann doch eine neue Gruppe erstellen!?
Ciao
nocheiniggy
08.04.05, 21:03
Ich würds vermutlich folgendermaßen lösen: Schreib- und Leserechte für wwwrun erteilen damit der Webserver vollen Zugriff hat.
Anschließend eine MySQL-Datenbank mit den Benutzern die sich über die PHP-Seite an- und abmelden.
In dieser Datenbank kannst du dann festlegen, ob dieser Benutzer nun auch schreiben darf, oder nur lesen.
Am Besten in einer Tabelle Users mit einer Spalte Rechte.
Rechte könnten nun in Form von "w", "s", "n" stehen, wobei "n" für weder lesen, noch schreiben steht.
Willst du nun mit User01, der ja den Eintrag "w" hat auf Upload schreiben, wird erst die Abfrage gemacht, anschließend ein "ja" ausgegeben.
Bei User02 wird ein "nein" ausgegeben.
Usw.
Der User müsste also nur innerhalb deiner Datenbank existieren und du brauchst ihn nicht auf dem System anlegen.
Sollte es aber eine Möglichkeit mit ACLs geben was ich sehr stark vermute, wäre das wahrscheinlich die Variante mit mehr Sicherheit(weil du diverse Programmierfehler ausschließen kannst)
Aber im Augenblick möcht ich von PHP nichts mehr hören.
Die letzten paar Monate haben mir gereicht.
Such mal bei Google ob du da irgendwas von Rechtevergabe mit ACLs in Zusammenhang mit PHP findest.
Hi,
habe ich das richtig verstanden, wenn ich dem wwwrun das Recht gebe, auf den ordner dann geht es, aber wie sieht es da aus, wenn der user01 auch noch schreibrechte benötigt?
Kann ja keinen 2 Usern das Schreibrecht auf ein Ordner geben. Müsste dann doch eine neue Gruppe erstellen!?
Ciao
Entweder der Gruppe, unter der der Webserver läuft Schreibrechte geben und dem user1, also
rwxrwx--- user1.webservergruppe datenverzeichniss
oder ACL verwenden, sofern verfügbar,
oder tatsächlich eine weitere Gruppe erstellen, die schreiben darf auf das Verzeichniss mit user1 und wwwrun als Mitglieder.
HTH,
mamue
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.