Konfigurace Apache: řízení přístupu díl druhý

Omezení přístupu na server podle domény či IP adresy a kontrola přístupu na server přes heslo.
V minulém díle jsme se věnovali obecným omezením, nyní se budeme věnovat řízení přístupu uživatelů

Omezení přístupu na server podle domény či IP adresy
Toto musí být povoleno příkazem AllowOverride s parametrem Limit. Řekněme, že chceme, aby do adresáře C:\Program Files\Apache Group\Apache\htdocs\members ($HOME/apache/share/htdocs/members) měli povolen přístup pouze uživatelé z domény server1.cz a nikdo jiný pro metodu GET a POST.

(příklad 3)

<Limit GET POST>

order deny, allow

deny allow

allow from .server1.cz

</Limit>

V případě Apache pro platformu Unix/Linux pouze změníme první řádek:

<Directory "$HOME/apache/share/htdocs/members">

(tabulka 3)

Proměnná Popis
<Limit ... > </Limit> Říká pro jaké metody omezení platí.
Order Ovlivňuje pořadí ve kterém se příkazy provádějí.
Allow Povoluje přístup do adresáře pro domény či IP adresy. Pokud se vynechá část IP adresy čí domény (bráno zleva), pak to platí i pro podřazené domény či IP adresy. Parametr all, říká, že je povolen přístup pro všechny uživatele.
Deny to samé jako allow, pouze zakazuje přístup z těchto domén, či IP adres

Máme uživatele s IP adresou 123.456.789.11 až 123.456.789.99 a 123.456.777.77. Chceme, aby na server do adresáře C:\Program Files\Apache Group\Apache\htdocs\members ($HOME/apache/share/htdcos/members) měli přístup pouze tito uživatelé a nikdo jiný.

(příklad 4)

<Directory "C:/Program Files/Apache Group/Apache/htdocs/members">

<Limit GET POST>

order deny, allow

deny allow

allow from 123.456.777.77,123.456.789.

</Limit>

</Directory>

V případě Apache pro platformu Unix/Linux pouze změníme první řádek:

<Directory "$HOME/apache/share/htdocs/members">

Řízení přístupu heslem
Nyní ukážeme, jak řídit přístup na server podle uživatelů, tj. každý uživatel, který se bude chtít dostat na server do určitého adresáře bude muset zadat uživatelské konto a heslo, jinak bude přístup do tohoto adresáře odepřen.

(tabulka 4)

Proměnná Popis
<Limit ... > </Limit> Říká pro jaké metody omezení platí.
Require pro jaké skupiny, platí povolení přístupu do tohoto adresáře
AuthType typ autorizace přístupu
AuthName název, který se bude tisknou při žádosti o vložení uživatelského hesla a konta.
AuthUserFile umístění souboru s názvy uživatelských kont a zakódovanými hesly
AuthGroupFiles umístění souboru s uživatelskými skupinami.

Řekněme, že chceme aby do adresáře C:\Program Files\Apache Group\Apache\htdocs\members ($HOME/apache/share/htdocs/members), měli přístup všichni uživatele odkudkoliv (nebrat ohled na IP adresu či doménu), ale pouze ti, kteří jsou registrovaní na serveru jako skupina „admin“

(příklad 5)

<Directory "C:/Program Files/Apache Group/Apache/htdocs/members">

<Limit GET POST>

require group admin

AuthType Basic

AuthName Spravci

AuthUserFile "C:/Program Files/Apache Group/auth/user-file.txt"

AuthGroupFile "C:/Program Files/Apache Group/auth/group-file.txt"

</Limit>

</Directory>

V případě Apache pro platformu Unix/Linux pouze změníme 1.,6. a 7. řádek:

<Directory "$HOME/apache/share/htdocs/members">

AuthUserFile $HOME/apache/auth/user-file.txt

AuthGroupFile $HOME/apache/auth/group-file.txt

Všimněte si, že umístění souboru typu AuthUserFile a AuthGroupFile není v adresáři typu DocumentRoot (adresář, kde jsou umístěny HTML soubory), ale o dvě úrovně níže a to z důvodů bezpečnosti.

V souboru typu AuthGroupFile by mohlo být např. toto. Tento zápis říká, že uživatelé user1user4 patří do uživatelské skupiny admin a uživatelé user3,user5 a user7 paří do uživatelské skupiny users.

(příklad 6)

admin: user1 user2 user3 user4

users: user3 user5 user7

Vložení uživatelského konta a hesla do souboru typu AuthUserFile se provede pomocí příkazu htpasswd, který je pouze v distribuci pro platformu Unix/Linux a to v $HOME/apache/sbin/htpasswd.

(příklad 7)

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt -c user1

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt user2

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt user3

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt user4

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt user5

$HOME/apache/sbin/htpasswd $HOME/apache/auth/user-file.txt user7

Poté budete dvakrát vyzváni ke vložení hesla a pokud se nespletete, pak bude tato informace zapsána do souboru typu AuthUserFile, v našem případě $HOME/apache/auth/user-file.txt. Přepínač -c použijte pouze v případě, pokud soubor typu AuthUserFile dosud neexistuje,

Pro platformu Windows neexistenci příkazu htpasswd lze obejít, tím, že si vytvoříme soubor typu AuthUserFile v našem případě C:/Program Files/Apache Group/auth/user-file.txt a do něj zapíšete tyto údaje: (heslo se pro platformu Windows nekryptuje)

(příklad 8)

user1: heslo1

user2: heslo2

user3: heslo3

user4: heslo4

user5: heslo5

user7: heslo7

Samozřejmě, že můžete přístup do adresáře C:\Program Files\Apache Group\Apache\htdocs\members ($HOME/apache/share/htdocs/members), omezit tak, že uživatelé budou muset zadat své uživatelské konto a heslo, a ještě se zkontroluje jejich IP adresa či doména. Zkombinování příkladu 4 a 5.

(příklad 9)

<Directory "C:/Program Files/Apache Group/Apache/htdocs/members">

<Limit GET POST>

order deny, allow

deny allow

allow from 123.456.777.77,123.456.789.

require group admin

AuthType Basic

AuthName Spravci

AuthUserFile "C:/Program Files/Apache Group/auth/user-file.txt"

AuthGroupFile "C:/Program Files/Apache Group/auth/group-file.txt"

</Limit>

</Directory>

Pokud vám některý z těchto příkladů nechodí, pak si zkontrolujte, zda máte všechny odkazy na adresáře a soubory v uvozovkách.

Příště si ukážeme co můžeme změnit pomocí konfiguračního souboru srm.conf

Pokud máte jakékoliv dotazy, či připomínky můžete je sdělit na tuto adresu: erik@email.cz

Související články:
Konfigurace serveru Apache poprvé
Jak nainstalovat server Apache na Unix/Linux
Instalace Apache na Windows 95/98/NT
Popis serveru Apache a jeho možností
Váš názor Další článek: EuroTel: novinek až nad hlavu

Témata článku: Software, Linux, Programování, Konfigurace, Admin, Přístup, Apache, Group, Order, Home, Druh, Limit, Řízení, Post, Program Files, 4 Home, Share, Díl

Určitě si přečtěte


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší