Vi possono essere poi files di controllo fine a livello di ciascuna directory che raffinano le policies generali senza dover far ripartire il server. Solitamente i nome di tali file e' .htaccess.
Le direttive di limitazione in conf/access.conf sono contenute in paragrafi delimitati dai tag <directory> </directory>. Nei file .htaccess non vi sono tali tag in quanto le direttive si riferiscono alla directory corrente.
Sia dato questo esempio di sezione di conf/access.conf:
<directory /local/private> <limit GET> order deny, allow deny from all allow from .aleph.com allow from .zorkil.com allow from 168.29.45.66 168.29.45.72 <limit> <directory>
La direttiva di tag:
<limit metodo1 metodo2 ... >
e terminata da <limit>, contiene le direttive di limitazione accesso. I metodi possono essere GET, POST, PUT e HEAD.
La direttiva order specifica come in che ordine debbano essere valutate le direttive seguenti. Argomenti ammessi nella lista sono:
Le direttive allow from e deny from sono seguite o dalla parola chiave all (tutti) o dall'indirizzo IP numerico di una macchina, o dal nome della macchina, o da parte del suo indirizzo di dominio. Nell'ultimo caso la regola si applica a tutte le macchine appartenenti a quel dominio. Vi puo' essere una lista di elementi simili separati da spazi.
Questo metodo e' basato su files di configurazione di password utenti e di gruppi d'utenti.
Per preparare un file di password si usa l'utility htpasswd fornita insieme al server. La sintassi e':
httpd [-c] file_password utente
ove file_password e' il nome del file contenente le password e utente e' il nome dell'utente per cui si vuole generare o cambiare una password. L'opzione -c permette di creare un nuovo file di password.
Il contenuto di un file di password puo' esser come segue:
fred:NCI.PQ5Mly51E john:6R1uJeNpTzrv6 mary:2huFGthJKLz9D
Il file di gruppi si prepara con un editor normale. Un tale file puo' essere:
local: fred john users: fred mary john admin: mary
La locazione tipica di questi files e' nella directory conf del server HTTPD.
La limitazione di controllo d'accesso si compie con una sezione di controllo directory nel file access.conf oppure inserendo un file .htaccess nell directory specifica da limitare. Il contenuto e' lo stesso, per esempi:
<Directory /local/members> AuthName Members Only AuthType Basic AuthUserFile /usr/local/etc/httpd/conf/passwd AuthGroupFile /usr/local/etc/httpd/conf/group <linit GET> deny from all allow from .acme.com require user john require group admin </limit> </Directory>
Le parole chiave sono:
La direttiva require puo' acere i seguenti argomenti:
In ogni caso la finestra di popup di un browser grafico richiede un nome utente e corrispondente password prima di fornire l'accesso alla directory specificata.