Supportnet / Forum / Webseiten/HTML
.htaccess selbst schützen?!
Frage
Hallo liebes Folk...
ich habe hier dutzende Sachen über .htaccess gefunden, jedoch nicht das, was ich wirklich benötige.
Ich habe einen root Server. Nun habe ich auf diesem Server einen Web-User mit getrenntem FTP Bereich angelegt. Funktioniert auch alles wunderbar.
Habe auch jeweils eine .htaccess und die dazugehörige .htpasswd angelegt um diesen FTP-Bereich jeweils für unbefugten Zugang via Browser zu schützen. Klappt auch 1a.
Nun das Problem. Diese beiden Dateien können von jedem der auf diesen FTP-Bereich kann, gelöscht werden. Nur das will ich nicht. Habe über Plesk die Gruppe und den User der Dateien auf root geändert, dennoch können sie über FTP gelöscht werden. Der FTP-Zugang ist jedoch nicht über Root und hat auch keine root Rechte.
Was kann ich nun also tun, um diese beiden Dateien (.htaccess und .htpasswd) vor dem löschen zu schützen?
Wäre froh über hilfe.
MfG
Maza
Antwort 1 von 4strings
mit chmod die rechte auf nur lesen einstellen.
Antwort 2 von Supermax
Wenn du Zugriff auf die Konfiguration des Webservers bzw. zumindest des betroffenen VHosts hast, kannst du die Authentifizierungsoptionen auch direkt dort eintragen und die Paßwortdatei außerhalb des für Web oder FTP-User zugänglichen Bereiches ablegen.
z.B. im der <VirtualHost>-Abschnitt folgendes einfügen
z.B. im der <VirtualHost>-Abschnitt folgendes einfügen
<Directory "ftp-directory">
AuthType Basic
AuthName "FTP"
AuthUserFile "pfad-zur-htpasswd"
require valid-user
</Directory>
Antwort 3 von Maza
@4strings:
Das hat mich auch gewundert... denn chmod war auf nur lesen eingestellt. Über root getätigt. Allein deswegen dürfte ein anderer User das ja nicht löschen können, oder doch?
@Supermax
Jo danke für den Tipp.
Nun aber folgendes:
Der Web_User ist unter
/var/www/vhosts/domain/web_users/ angelegt
also /var/www/vhosts/domain/web_users/testuser
Die .htaccess hatte ich zuvor schon gleich unter testuser drin, der auch gleichzeitig den FTP-Bereich darstellt. Nun habe ich diesen da raus und eine Ebene höher in den ../web_users/ Bereich gepackt zudem nur ich Zugang habe.
Da tut sich erstmal nichts? Der testuser ist nicht mehr geschützt. Die Daten sind für jeden über den Browser abrufbar.
Frage 1: ist die .htaccess in einem falschen Ordner?
Frage 2: habe ich etwas in der .htaccess Datei falsch geschrieben? Zumal in der .htaccess ja nicht einmal steht, welchen Ordner er genau schützen soll.
Wenn ich
AuthType Basic
AuthName "FTP"
AuthUserFile "pfad-zur-htpasswd"
require valid-user
in der .htaccess verwende, dann schützt er ja nur den Ordner, wo er drin ist. Aber was muss ich reinschreiben, dass ein Ordner geschützt werden soll, in dem sich die .htaccess garnicht befindet?
Confused....
Das hat mich auch gewundert... denn chmod war auf nur lesen eingestellt. Über root getätigt. Allein deswegen dürfte ein anderer User das ja nicht löschen können, oder doch?
@Supermax
Jo danke für den Tipp.
Nun aber folgendes:
Der Web_User ist unter
/var/www/vhosts/domain/web_users/ angelegt
also /var/www/vhosts/domain/web_users/testuser
Die .htaccess hatte ich zuvor schon gleich unter testuser drin, der auch gleichzeitig den FTP-Bereich darstellt. Nun habe ich diesen da raus und eine Ebene höher in den ../web_users/ Bereich gepackt zudem nur ich Zugang habe.
Da tut sich erstmal nichts? Der testuser ist nicht mehr geschützt. Die Daten sind für jeden über den Browser abrufbar.
Frage 1: ist die .htaccess in einem falschen Ordner?
Frage 2: habe ich etwas in der .htaccess Datei falsch geschrieben? Zumal in der .htaccess ja nicht einmal steht, welchen Ordner er genau schützen soll.
Wenn ich
AuthType Basic
AuthName "FTP"
AuthUserFile "pfad-zur-htpasswd"
require valid-user
in der .htaccess verwende, dann schützt er ja nur den Ordner, wo er drin ist. Aber was muss ich reinschreiben, dass ein Ordner geschützt werden soll, in dem sich die .htaccess garnicht befindet?
Confused....
Antwort 4 von Supermax
.htaccess wirkt sich auf den Ordner und alle untergeordneten Ordner aus. Wenn sich die .htaccess allerdings "außerhalb" des Document-Roots für den Host befindet, wird sie vom Webserver gar nicht beachtet; dann muss man die entsprechenden Direktiven direkt in einen <Directory> - Bereich unter dem jeweiligen VHost eintragen (entweder direkt in der httpd.conf oder unter /etc/httpd/vhost.d).
Antwort 5 von Maza
Wie hat der Eintrag auszusehen?
Grüße
Maza
Grüße
Maza
Antwort 6 von Supermax
<Directory "/var/www/vhosts/domain/web_users/testuser">
AuthType Basic
AuthName "Testuser"
AuthUserFile "/var/www/vhosts/domain/web_users/testuser.pwd"
require valid-user
</Directory>
Antwort 7 von LoLo
Hi, vielleicht hilft dir diese Seiten weiter http://www.bananajoe.de/htpass.html
http://de.selfhtml.org/servercgi/server/htaccess.htm
http://de.selfhtml.org/servercgi/server/htaccess.htm
Antwort 8 von Maza
Oh mann, jetzt hab ichs geschnallt !!!
Vielen Dank klappt nun. Hatte vergessen das ich bei Plesk individuell für jeden vHost eine .conf (vhost.conf) Datei anlegen muss.
vhost.conf mit dem Inhalt von Dir (angepasst natürlich) erstellt. websrvmng durchgeführt und apache reloaded.
Nun klappt alles wunderbar!!!
Thx!
Vielen Dank klappt nun. Hatte vergessen das ich bei Plesk individuell für jeden vHost eine .conf (vhost.conf) Datei anlegen muss.
vhost.conf mit dem Inhalt von Dir (angepasst natürlich) erstellt. websrvmng durchgeführt und apache reloaded.
Nun klappt alles wunderbar!!!
Thx!
Antwort 9 von Maza
VIelen Dank an alle die geantwortet haben :)
Grüße
Maza
Grüße
Maza