Introduction
Vous connaissez déjà sans doute sudo, un outil permettant d'autoriser des utilisateurs à exécuter des commandes sous un autre utilisateur (par exemple root) sans connaître le mot de passe ce celui-ci. Nous vos proposons à travers cet article d'utiliser un annuaire LDAP pour stocker votre configuration sudo. Cela à le gros avantage de centraliser la configuration, et donc une administration simplifiée.
La configuration standard
Voici un fichier de configuration classique de sudo :
root ALL=(ALL) ALL
%operator ALL=(ALL) ALL
Ce fichier de configuration est volontairement très simple pour une première approche. Il autorise l'utilisateur root et les membres du groupe operator à exécuter des commandes sous n'importe quel utilisateur. Un appel à la commande sudo -l permet d'obtenir la liste des règles autorisées par l'utilisateur appelant :
% id -a
uid=1000(asyd) gid=1000(asyd) groupes=4(adm),37(operator),1000(asyd)
% sudo -l
User asyd may run the following commands on this host:
(ALL) ALL
Installation
Avant tout, vous devez vérifier que le sudo que vous utilisez est compilé avec le support ldap, pour cela vérifier que votre binaire sudo est linké sur la libldap
% ldd sudo | grep ldap
libldap.so.5 => /usr/lib/libldap.so.5
Si vous n'obtenez aucun résultat, vous devez recompiler sudo avec l'option --with-ldap
Configuration
Vous disposez donc maintenant d'un sudo compilé avec le support LDAP, la première opération consiste à rajouter le schéma dans votre annulaire LDAP
Installation du schéma LDAP
IPlanet, Sun Directory Server Entreprise Edition, OpenDS
Pour rajouter le schéma, exécuter simplement la commande suivante (depuis le répertoire sources de sudo) :
% cp schema.iPlanet $INSTANCE_ROOT/config/schema/98-sudo.ldif
(Rajouter les options -Wx si vous utilisez un ldapmodify d'OpenLDAP.)
OpenLDAP
Pour un annuaire OpenLDAP, copier le fichier schema.OpenLDAP dans le répertoire des schémas sous le nom sudo.schema, puis rajouter la ligne de configuration suivante dans le fichier slapd.conf :
schema sudo.schema
Fichier de configuration
Le fichier sudoers n'est plus nécessaire, les informations nécessaires sur le serveur LDAP sont stockés dans le fichier de configuration ldap.conf. Attention l'emplacement de ce fichier est spécifique à chaque distribution et système d'exploitation !
Voici un exemple très simple des directives nécessaires pour sudo :
host ldap.domain.tld
port 389
sudoers_base ou=sudo,ou=Apps,dc=asyd,dc=net
Les objets LDAP
Il nous reste maintenant à configurer les différents objets LDAP. Avant tout, il convient de préciser que l'approche de configuration LDAP est différente par rapport à l'utilisation de fichiers.
- Printer-friendly version
- Login or register to post comments