Ihr braucht lediglich bereits Root Zugang zur Linkstation. Alles weitere erledigt Ihr per Telnet Client. Das ganze ist in wenigen Minuten erledigt und per einzeiler wieder rückgängig zu machen. Natürlich übernehme ich keine Gewähr für irgendwas...
1)
Als erstes verbinden wir uns per telnet mit dem Root User (also denjenigen, den Ihr zum Root user gemacht habt) zur Linkstation. Ich benutze dafür gern den client "putty".
2)
Anschliessend kopieren wir das derzeitige Webverzeichnis nach /mnt, damit wir neben unseren Shares nach wie vor per Webinterface die Linkstation konfigurieren können.
Code: Alles auswählen
cd /
cp /www/* /mnt -r
3)
Nun noch eine Kopie der aktuellen thttpd.conf machen (das ist die Konfigurationsdatei des webservers thttp).
Code: Alles auswählen
cp /etc/thttpd.conf /mnt/thttpd_conf.bak
Code: Alles auswählen
cp /mnt/thttpd_conf.bak /etc/thttpd.conf
4)
Nun bearbeiten wir die Datei /etc/thttpd.conf mit dem Befehl:
Code: Alles auswählen
cd /etc
vi thttpd.conf
Wir ändern im Prinzip nur das Root Dir des webservers. Diese Einstellung steht in der ersten Zeile nach "dir=". So sollte die Datei thttpd.conf anschliessend aussehen:
Code: Alles auswählen
dir=/mnt
user=root
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
port=80
charset=
cgipat=/cgi*/*
5)
Damit wir auch in unseren Shares browsen können, müssen wir nun noch die index.htm in /mnt umbennnen. Ansonsten würde ein Aufruf von "http://IP-Der-Linkstation" immer automatisch die index.htm aufrufen - und das wollen wir ja nicht.
Code: Alles auswählen
mv /mnt/index.htm /mnt/index2.htm
6)
Leider sind wir noch nicht ganz fertig. Viele Dateien und Ordner haben executable Berechtigungen. Der thttp Webserver erlaubt den Aufruf von executables aber nur bei cgi-scripten. Entsprechend ändern wir nun dieses Flag. Das ändert allerdings nichts an den Gruppen oder User Berechtigungen, die Ihr per webinterface eingestellt habt (zumindest soweit ich feststellen konnte).
Code: Alles auswählen
cd /mnt
cd <eure-share>>
chmod 666 -v -R *
cd ..
7)
Grundsätzlich wars das schon. Nun fehlt nur noch ein Neustart der Linkstation:
Code: Alles auswählen
shutdown -r now
Nun teste wir das ganze mal. Benutzt einen webbrowser und ruft die Adresse http://IP-Der-Linkstation auf. Ihr solltet nun die Dateien und Verzeichnisse von /mnt/ sehen können. Alle Dateien und Verzeichnisse in Euren Shares könnt Ihr nun durchforsten und dowloaden/ausführen/anzeigen lassen. Ein klick auf /mnt/index2.htm leitet euch weiter zum Adminweb der Linkstation.
Bis auf das Admin Web der Linkstation ist das aber nun offen wie ein Scheunentor!!! Dementsprechend empfehle ich nun dringend den Schritt (9).
9)
Nun sollte natürlich noch die Security angepasst werden. Dabei benutzen wir die Dateien .htaccess und .htpasswd. Die erste Datei existiert noch nicht und wird nun erstellt und mit Inhalt gefüllt:
Code: Alles auswählen
cd /mnt
vi .htaccess
Code: Alles auswählen
AuthType Basic
AuthName "Access for Linkstation"
require user root
Nun kopieren wir noch das passwortfile des alten Linkstation Webs in das neue webroot Verzeichnis:
Code: Alles auswählen
cp /www/.htpasswd /mnt
10)
Per Browser rufen wir wieder die Adresse "http://IP-Der-Linkstation" auf. Dieses Mal werden wir nach Benutzername / Passwort gefragt. Der Benutzername ist "root" und das Passwort das im Linkstation Adminweb eingstellte Passwort.
..fertich!!!
Anmerkungen:
Wenn Ihr im LS Admin Web dieses Passwort mal geändert habt (oder ändern wollt), müsst Ihr entsprechend den Befehl "cp /www/.htpasswd /mnt" erneut ausführen. Wer möchte, kann prinzipiell jedes Unterverzeichnis von /mnt mit einer eigenen .htaccess und .htpasswd schützen. Den entsprechenden Wert des User Passworts könnt Ihr mit "cat /etc/passwd" auslesen und in die jeweilige .htpasswd übernehmen.
Das Passwort kann aber auch völlig unterschiedlich zum jeweiligen Userpasswort sein, wenn Ihr wollt. Es wird bei der Passwortabfrage nicht die /etc/passwd verglichen, sondern das password im jeweiligen .htpasswd! Selbst der User muss imho nicht existieren... Ihr könnt also in der .htaccess und .htpasswd den user "fridolin" eintragen und dat lüppt auch. Um ein Passwort für einen Fantasieuser einzurichten könnt Ihr im web nach Cleartext >> htaccess passwort konverter suchen (z.b. http://ihre-webhosting-domain.de/php/md5enc.php). Interessant ist auch der Artikel unter: http://faq.1und1.com/hosting/technik/htaccess/1.html ! hier wird auch erklärt wie Ihr mehere User für den zugriff einrichten könnt.
Wenn Ihr den alten Zustand wieder herstellen wollt genügt ein "cp /mnt/thttp_conf.bak /etc/thttpd.conf" und ein anschliessender Neustart.
Natürlich steht es euch frei, per Router Einstellung und optional per dynamic DNS diesen Server nun für das Internet verfügbar zu machen. Wer das vor hat, sollte sich aber wirklich mit seinen Router und der Firewall auskennen. Ich habe vor, dafür einen Draytek 2500 vigor zu benutzen. Der hat einen echten VPN Server (nicht passtrough) eingebaut. Somit kann ich eine VPN Verbindung herstellen und dann auf meine Shares zugreifen. Natürlich geht das auch ohne VPN Server, jedoch sollte dann jeden klar sein, das die Daten unverschlüsselt übers net gehen...
Ach ja, mir ist klar das die LS auch nen FTP Server hat... aber von der Firma aus ist halt nur Port 80 offen... das Problem habe ich also damit gelöst..
bis denne
Markus[/code]