Disk Quota über MySQL

#1
Hi,

ich habe eine generelle Frage zu einem Artikel, den ich im Netz gefunden habe (http://serversupportforum.de/forum/...t-usern-mysql-und-quotas-auf-debian-etch.html). Ich möchte einen FTP-Zugang mit Quota über MySQL realisieren. Bei genaueren Überlegungen ist mir aber aufgefallen, dass, wenn ich das ausschließlich so lösen würde mit der Quota, es generell doch zwei Probleme gibt, oder?

  • Wenn ich einen FTP-User mit 50 MB Quota anlege, der als HomeDir /var/www/1/ hat, dann kann dieser zwar nur 50 MB hochladen, aber: sobald er z.B. ein PHP Script hochläd, das Fehler produziert und ein GB schweres Logfile erstellt, dann hilft mir diese 50MB Grenze wenig, oder habe ich da was falsch verstanden?
  • Wenn ich auf der richtigen Fährte bin, sollte man per libnss-mysql einen virtuellen Linux-Benutzer erstellen können, der entsprechend auch Quotas hat, ist das korrekt? Oder gibt es da bessere Varianten? Idealerweise würde ich gerne eine Benutzer und Quota-Verwaltung per MySQL-Datenbank haben. Oder gibt es dazu ein Tutorial?
Vielen Dank!
stephan
 

Till

Administrator
#2
Wenn Du eine einfache Lösung suchst, dann installir Dir ispconfig 3. Das controlpanel legt ftp user in mysql an, wobei die ftp user pro website zusammengefasst werden. Du kannst also beliebig viele FTP User pro Webseite haben und alle ftp user einer website laufen unter einem Linux systemuser und für diesen ist Quota über die Quotafiles automatisch konfiguriert. Apache ist dann so mittels suexec konfiguriert, dass php scripte dieser seite unter dem gleichen Linux User laufen, somit kann ein script das quota nicht überschreiten.

Du kannst das natürlich auch nochmal selbst programmieren, ist aber ein haufen Arbeit.
 
#3
Hi! Danke für Deine Erklärung. Jetzt interessiert mich nur, wie genau das auf Systemebene läuft. Dh wenn ich das manuell ohne die ISPConfig-Installation machen will, wie konfiguriere ich das?
Wenn ich richtig bin brauche ich

  • quota
  • Verschiedene User, für die Quota aktiviert ist
  • Jeder User erhält ein definiertes Verzeichnis mit Schreibrechten (chmod)
  • Alle Dateien in diesem VErzeichnis laufen über den User
Nur wie kann man sowas ohne ISPConfig machen? Also auch ohne jetzt ein Frontend dafür zu haben, einfach über Befehle oder Datenbank?
 

Till

Administrator
#4
Linux Systemuser kannst Du mit dem adduser Befehl hinzufügen, dann nimmst Du den setquota Befehl um für den user Quota zu setzen. Dann musst Du den ftp user in pure-ftpd so konfigurieren, dass er unter diesem User läuft- Als letztes legst Du ein Verzeichnis für den user an and erstellst einen apache vhost, in dem vhost muss suexec für den User konfiguriert werden und dann muss php über fcgi, cgi oder suphp laufen, damit es unter dem user ausgeführt wird. Für fcgi musst Du dann noch ein starterscript schreiben.

Ist eine recht aufwändige Sache wenn Du das manuell richtig aufsetzen willst.
 

Werbung

Top