Passwortschutz für Serverbereiche (Verzeichnisse)

Aus all-connect Hilfe-Center
Version vom 7. November 2013, 09:42 Uhr von Acdc (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


So wie das Verzeichnis Ihrer Abrufstatistiken mit einer Passwortabfrage geschützt ist, können Sie jedes andere Verzeichnis auch schützen und mit einem Benutzerlogin versehen.


Konfiguration per SSH Zugang:

Diese Funktion steht Ihnen per SSH zur Verfügung (ggf. schalten wir Ihnen den SSH-Zugang gerne frei.)

Wechseln Sie per SSH in das Verzeichnis, das geschützt werden soll:

# cd /home1/a98h00/htdocs/restricted_dir

Legen Sie die Datei ".htaccess" an, in dem Sie folgenden Befehl ausführen:

# touch .htaccess

Die Datei .htaccess muss nun editiert werden. Am einfachsten erledigen sie das mit dem "Midnight-Commander", das ist ein Linux-Dateimanager, der dem Norton-Commander (nc) identisch ist. Der Programmaufruf ist "mc".

# mc

Nun wechseln sie auf die Datei .htaccess und drücken <F4>, um die Datei in den Editor zu nehmen. Tragen Sie folgenden Text in diese Datei ein und passen Sie den Pfad in "AuthUserFile", sowie die Beschreibung in "AuthName" nach Ihren Bedürfnissen an:

AuthUserFile /home1/a98h00/htdocs/restricted_dir/.htpasswd
 AuthGroupFile /dev/null
 AuthName "Geschuetzter Serverbereich"
 AuthType Basic
 <Limit GET POST>
 require valid-user
 </Limit>

Speichern Sie die Datei mit und beenden Sie den Editor und den Midnight-Commander jeweils mit <F10>.

Nun müssen Sie die Passwort-Datei anlegen. Rufen Sie dafür folgenden Befehl auf:

# touch .htpasswd

Mit dem Befehl "htpasswd" können Sie nun User und Passwörter hinzufügen bzw. ändern. (Dies geht nicht im Editor, weil die Passwörter verschlüsselt abgespeichert werden.) Um z.B. den User erwin anzulegen bzw. dessen Passwort zu ändern, geben Sie folgenden Befehl ein (Achten Sie auf die Groß- und Kleinschreibung!):

# htpasswd .htpasswd erwin

Sie werden nun 2x nach einem Passwort gefragt, welches beim Eingeben nicht durch Sternchen wiedergegeben wird.

Das aktuelle Verzeichnis ist nun sofort mit einem Passwortschutz versehen. Sie können beliebig viele User anlegen. Diesen Vorgang können Sie für jedes Verzeichnis in gewünschter User-Konfiguration wiederholen.

Erweiterte Einstellungen

Passwort für nur eine Datei:

<Files login.php>
Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthType Basic
AuthUserFile /home/user/.htpasswd
Require valid-user
</Files>

Mehrere Dateien schützen:

<FilesMatch "^(exec|env|doit|phpinfo|w)\.*$">
Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthUserFile /home/user/.htpasswd
AuthType basic
Require valid-user
</FilesMatch>


Apache Allow Directive in .htaccess

Mit Network/Netmask Paar:

Order deny,allow
Deny from all
Allow from 10.1.0.0/255.255.0.0

Mit Network/nn CIDR Spezifikation:

Order deny,allow
Deny from all
Allow from 10.1.0.0/16

Mit einer IP Adresse:

Order deny,allow
Deny from all
Allow from 10.1.2.3

Mit mehreren IP Adressen:

Order deny,allow
Deny from all
Allow from 192.168.1.104 192.168.1.205

Mit einer IPv6 Adresse und Subnets:

Order deny,allow
Deny from all
Allow from 2001:db8::a00:20ff:fea7:ccea
Allow from 2001:db8::a00:20ff:fea7:ccea/10

Verbiete Subdomains:

Order Allow,Deny
Allow from office.all-connect.net
Deny from einwahl.all-connect.net

Zugriff von einer bestimmten IP Adresse erlauben und zusätzlich von allen Adressen mit Passwort-Abfrage:

Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthUserFile /home/user/.htpasswd
AuthType Basic
Require valid-user
Allow from 172.17.10.1
Satisfy Any