5. Administration du serveur WebDAV

Dans cette section, nous aborderons les différentes tâches d'administration — par exemple l'utilisation de LDAP pour le contrôle d'accès, et comment on travaille dans Apache avec DAV

La plupart des changements de configuration pour DAV devront être faits dans le fichier httpd.conf. L'emplacement de ce fichier est /usr/local/apache/conf/httpd.conf.

httpd.conf est un fichier texte qui est utilisé pour la configuration d'Apache. Il peut être édité à l'aide de n'importe quel éditeur de texte — je préfère vi. Faites une copie de sauvegarde de ce fichier avant de le modifier.

Après avoir effectué des modifications au fichier httpd.conf le serveur Apache doit être redémarré avec la commande /usr/local/apache/bin/apachectl restart. Cependant avant de le redémarrer, vous testerez la validité du fichier httpd.conf en utilisant la commande /usr/local/apache/bin/apachectl configtest.

5.1. Limiter les accès aux partages de DAV

Dans la section précédente, quand nous avons créé le partage DAVtest, nous avons utilisé LDAP pour l'authentification. Cependant, n'importe qui pouvant s'authentifier en utilisant son compte_utilisateur/mot_de_passe pourra accéder à ce dossier.

En utilisant la directive require dans le fichier httpd.conf, vous pouvez limiter l'accès à certains individus ou groupes d'individus.

Si nous regardons la configuration de DAVtest de la précédente section :

<Directory /usr/local/apache/htdocs/DAVtest>

Dav On
#Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthName "LDAP_userid_password_required"
AuthType Basic

<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

Require valid-user

</Limit>

LDAP_Server ldap.server.com
LDAP_Port 389
Base_DN "o=ROOT"
UID_Attr uid

</Directory>

nous voyons que la commande require a pour paramètre valid-user. Ce qui signifie que n'importe quel utilisateur authentifié peut accéder à ce dossier.

5.1.1. Limitations d'accès basées sur les UID individuels

Les UID de LDAP peuvent être utilisés pour limiter les accès au dossier DAV.

La directive require valid-user peut être remplacée par require user 334455 445566

Ceci limitera l'accès aux individus ayant pour UID 334455 et 445566. Personne d'autre ne pourra accéder à ce dossier.

5.1.2. Limitations d'accès basées sur des groupes d'individus

La directive require peut aussi être utilisée pour limiter les accès à des groupes d'individus. On peut le faire en utilisant soit les groupes de LDAP, soit les filtres de LDAP. Le filtre doit avoir une syntaxe de filtre LDAP valide.

5.2. Limiter l'accès en écriture à des partages DAV

On peut avoir besoin de limiter l'accès en écriture aux ressources des partages DAV à une certaine personne, en laissant toutefois n'importe qui voir les ressources. On peut le faire facilement en utilisant les balises <Limit> dans le fichier httpd.conf

<Directory /usr/local/apache/htdocs/DAVtest>
Dav On
#Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthName "LDAP_userid_password_required"
AuthType Basic

<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

Require valid-user

</Limit>

LDAP_Server ldap.server.com
LDAP_Port 389
Base_DN "o=ROOT"
UID_Attr uid
</Directory>

Vous limiterez l'accès en écriture à certains utilisateurs en changeant la balise <limit> en

<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

Require 334455

</Limit>

En fait, nous limitons les méthodes PUT POST DELETE PROPPATH MKCOL COPY MOVE LOCK et UNLOCK à l'utilisateur qui a pour UID 334455. N'importe qui d'autre pourra employer les méthodes GET et PROPFIND pour les ressources, mais aucune autre méthode.