[linux-l] Webspace und SFTP - Die Herausforderung
Thomas Schmidt
belug at thomasschmidt.com
Do Sep 27 13:16:34 CEST 2007
Hallo Liste!
Es geht um einen Webserver, auf den auch Freunde mal Webseiten hochladen
können.
PHP-Scripte erstellen ihre Dateien immer mit dem Besitzer, unter dem der
PHP-Server gestartet wurde. Und solange nicht der Apache als Root läuft
und jeden PHP-Interpreter als externes Programm mit Userrechten aufruft,
ist dieser Besitzer immer www-data.
Ohne Klimmzüge mit PHP als CGI und Apache mit Suexec gehört also jede
von PHP erstellte Datei www-data.
Jetzt komme ich zum Anliegen. Einem FTP-Server würde ich sagen, dass
sich alle User als www-data mit ihrem Webspace als Rootverzeichnis
einloggen. Nur leider wurde ein analoges Programm für SFTP wohl noch
nicht erfunden. Scponly und rssh brauchen erstmal einen sinnlosen
Dateibaum im chroot-Verzeichnis. Den könnte scponly dynamisch anbieten,
aber das tut es nicht.
Zusammenfassung: Die Webseiten gehören alle dem selben Benutzer, weil
Apache üblicherweise so läuft, deshalb kann man den Webspacekunden nicht
einfach SSH-Logins geben.
Es gibt auch keinen vernünftigen SFTP-Server, der einfach nach Angabe
des Wunsch-Rootverzeichnisses funktioniert.
Jetzt habe ich gerade noch eine Idee: Und zwar wird der Webspace jedes
Kunden in sein Home abgebildet, und zwar dort mit seinem persönlichen
User und seiner Gruppe. Der Kunde bekommt dann einen vollen SSH-Zugang
und kann den gesamten wahren Webspacebereich nicht betreten. Kann man so
etwas mit mount anstellen? Also mount /var/www/kunde1/ /home/kunde1/www/
www-user:www-user->kunde1:kunden
Eigentlich müsste der Apache standardmäßig Scripte als der Benutzer
ausführen, denen das Script gehört, und openssh müsste chroot auf
Knopfdruck beherrschen. Da das aber nicht der Fall ist, was haltet ihr
von meiner Idee und wie kann man das am Geschicktesten umsetzen?
Viele Grüße von
Thomas
Mehr Informationen über die Mailingliste linux-l