Vous êtes sur la page 1sur 16

Configuration d'un serveur

d'authentification Openldap Samba


De Wiki Fedora-Fr.

Aller à : Navigation, rechercher


Par : DavidOlivier

Ce type de serveur permet de gérer l'authentification centralisée pour des clients Windows et
Linux.

Sommaire
[masquer]
 1 Configuration du serveur OpenLDAP
 2 Configuration de samba
 3 Création et gestion des comptes dans l'annuaire
o 3.1 Utilitaires OpenLDAP et fichiers LDIF
o 3.2 Les smbldap-tools
 3.2.1 Configuration
 3.2.2 Utilisation
 4 Configuration des clients Linux
o 4.1 Configuration PAM
o 4.2 Client LDAP
o 4.3 Configuration NSS
 5 Configuration des clients Windows
o 5.1 Création du compte ordinateur
o 5.2 Ajout de l'ordinateur Windows dans le domaine
 6 Quelques trucs pouvant aider

o 6.1 Impossible de se connecter en tant que root

1 Configuration du serveur OpenLDAP


La configuration du serveur LDAP se fait par le fichier /etc/openldap/slapd.conf.
Nous utiliserons les informations suivantes pour créer l'architecture LDAP :
Les utilisateurs sont placés dans l'Unité d'Organisation (OU) Users. Les machines dans une
OU Computers.

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
On intègre les schémas samba et automount en plus des schémas par défaut.

# Allow LDAPv2 client connections. This is NOT the default.


allow bind_v2

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem

Certificats pour l'utilisation de LDAP sur TLS/SSL (optionel).

access to dn.children="ou=Users,dc=exemple,dc=com" \

attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword,sambaPw
dLastSet
by anonymous auth
by * none

access to dn.children="ou=Admins,dc=exemple,dc=com" \

attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword,sambaPw
dLastSet
by anonymous auth
by * none

access to dn.children="ou=Computers,dc=exemple,dc=com" \

attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword,sambaPw
dLastSet
by anonymous auth
by * none

access to *
by self write
by * read

On met en place des restrictions d'accès sur certains attributs de manière à ce que seuls les
administrateurs LDAP et le titulaire de la fiche puissent écrire les attributs sensibles, et on
bloque l'accès aux autres utilisateurs sur ces champs. L'accès à toutes les autres données de
l'annuaire peut donc se faire de manière anonyme.(On peut sécuriser ça en venant forcer
l'authentification des utilisateurs pour lire il suffit pour cela de remplacer :

by * read

par

by users read
by anonymous auth
#######################################################################
# ldbm and/or bdb database definitions
#######################################################################

database bdb
suffix "dc=exemple,dc=com"
rootdn "cn=Manager,dc=exemple,dc=com"
rootpw secret

rootdn et rootpw sont les informations de connexion du superutilisateur LDAP, rootpw peut
(et doit) être chiffré dans le fichier, pour ce faire utiliser le programme slappasswd qui vous
demandera le mot de passe et vous l'affichera dans le shell chiffré en SSHA il vous suffira
ensuite de venir le coller comme valeur pour rootpw

# The database directory MUST exist prior to running slapd AND


# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/lib/ldap

# Indices to maintain for this database


index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub

Il faut ensuite venir créer la racine de l'annuaire, ça peut être fait simplement à l'aide de la
commande smbldap-populate contenue dans les smbldap-tools. Il est aussi possible de le faire
à la main avec un fichier ldif de ce type :

dn: dc=exemple,dc=com
objectclass: top
objectclass: dcObject
objectclass: organization
o: exemple
dc: exemple
description: Racine de l'annuaire

2 Configuration de samba
La configuration de Samba se fait dans le fichier /etc/samba/smb.conf

[global]

workgroup = EXEMPLE
netbios name = SRV
hosts allow = 192.168. 127.0.0
log file = /var/log/samba/access.log
log level = 1
max log size = 10
security = user
encrypt passwords = true
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
domain logons = Yes
domain master = Yes
preferred master = Yes
os level = 66
local master = Yes
wins support = Yes
guest account = nobody
printing = cups
printcap name = cups
oplocks = No
level2 oplocks = No
kernel oplocks = No

template shell = /bin/false


winbind use default domain = no

 ;option LDAP
passdb backend = ldapsam:ldap://127.0.0.1
ldap suffix = dc=exemple,dc=com
ldap machine suffix = ou=Machines
ldap user suffix = ou=Users
ldap group suffix = ou=Group
ldap admin dn = "cn=Manager,dc=exemple,dc=com"

ldap passwd sync = Yes


enable privileges = Yes

logon path = \\%L\profiles\%U

# Table d'encodage des caractères (je fixe sur celui-là pour avoir le même
que sous windows)
Unix Charset = ISO8859-15

#SMBLDAP-TOOLS

add user script = /usr/sbin/smbldap-useradd -m "%u"


add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user script = /usr/sbin/smbldap-userdel "%u"
delete group script = /usr/sbin/smbldap-groupdel "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
passwd program = /usr/sbin/smbldap-passwd -u %u

admin users = @Administrators

[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no
share modes = no
browseable = no

[profiles]
path = /srv/profiles
browseable = no
guest ok = yes

Je ne vais pas détailler toutes les lignes de la configuration de Samba ce serait bien trop long,
je vais donc seulement donner l'explication des lignes spécifiques à notre projet :

domain logons = Yes


domain master = Yes
 ;option LDAP
passdb backend = ldapsam:ldap://127.0.0.1

Adresse du serveur LDAP, on peut facilement en mettre plusieurs sur cette ligne pour faire
une tolérance de panne

ldap suffix = dc=exemple,dc=com


ldap machine suffix = ou=Machines
ldap user suffix = ou=Users
ldap group suffix = ou=Group

Ce sont les chemins de recherche dans la base LDAP pour les différents éléments.

ldap admin dn = "cn=Manager,dc=exemple,dc=com"

Le DN du Manager, l'utilisateur qui aura les pleins pouvoirs sur la base LDAP

ldap passwd sync = Yes

ldap passwd sync fait en sorte que les mots de passe Windows et Linux soient toujours
identiques.

logon path = \\%L\profiles\%U

Chemin pour les profiles itinérants Windows %L est le LogonServer et %U le nom de
l'utilisateur.

Il vous faudra ensuite venir donner à Samba le mot de passe du manager de l'annuaire afin
qu'il puisse accéder librement aux données, ceci se fait à l'aide de la commande :

smbpasswd -W

3 Création et gestion des comptes dans l'annuaire


C'est ici que commence la partie la plus pénible si on n'utilise pas de GUI, il faut maintenant
venir peupler notre annuaire pour que les stations viennent chercher les informations
utilisateurs dedans.
La manière la plus basique est de faire les utilisateurs à l'aide de fichier ldif et de venir les
intégrer dans la base à l'aide des clients OpenLDAP.

3.1 Utilitaires OpenLDAP et fichiers LDIF

Un fichier LDIF type pour un utilisateur :

dn: uid=user1,ou=Users,dc=example,dc=com
cn: user1
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
uid: user1
userPassword:: eMNoen1gVuZerulrbsFdre9PVAJRSIROSL3sS4LESS09
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/ldap/user1
loginShell: /bin/bash

Pour le userPassword vous pouvez le rentrer en clair ou crypté avec les protocoles CRYPT,
SSHA ou MD5.
Un fois que vous avez entré ces quelques lignes dans un fichier quelquechose.ldif il ne vous
reste plus qu'à introduire ces données dans l'annuaire, pour cela nous allons utiliser la
commande :

ldapadd -x -D cn=Manager,dc=exemple,dc=com -W -f quelquechose.ldif

L'utilitaire devrait vous demander un mot de passe entrez celui que vous avez mis comme
rootpw dans votre fichier slapd.conf (ben oui on a mis le rootdn dans la commande).
Et voilà vous venez de rajouter un utilisateur dans votre annuaire vous devriez pouvoir faire
su – user1 maintenant sur n'importe quel client bien configuré.

3.2 Les smbldap-tools

Ce sont de petits utilitaires qui permettent une gestion simplifiée des données de l'annuaire. Ils
peuvent être utilisés pour gérer aussi bien les comptes Windows que les comptes Linux.

3.2.1 Configuration

Le fichier smbldap_bind.conf contient les informations de connexion qu'utiliseront les


smbldap-tools donc de toute évidence il faut mettre ici un compte utilisateur qui a le droit de
créer des entrées diverses dans la base LDAP, pour le moment nous mettrons le Manager,
celui qui a tous les droits.
/etc/smbldap/smbldap_bind.conf :

slaveDN="cn=Manager,dc=exemple,dc=com"
slavePw="secret"
masterDN="cn=Manager,dc=exemple,dc=com"
masterPw="secret"
Le fichier smbldap.conf, contient toute la configuration des tools à
proprement parler, séparé en trois grandes parties :
La configuration du domaine et l'accès au LDAP :
# Le nom du domaine, s'il est non défini la valeur sera celle de samba
sambaDomain="EXEMPLE"

# Adresse du serveur LDAP esclave


slaveLDAP="127.0.0.1"

# Adresse du serveur LDAP maitre


masterLDAP="127.0.0.1"

# Ne pas utiliser TLS pour sécuriser la connexion avec LDAP


ldapTLS="0"

# Suffixe LDAP (la racine de votre base LDAP)


# Ex: suffix=dc=IDEALX,dc=ORG
suffix="dc=exemple,dc=com"
# OU contenant les utilisateurs
usersdn="ou=Users,${suffix}"

# OU contenant les comptes ordinateurs (clients windows)


computersdn="ou=Computers,${suffix}"

# OU contenant les groupes


groupsdn="ou=Group,${suffix}"

# OU idmap (utile uniquement en cas d'utilisation de plusieurs LDAP )


idmapdn="ou=Idmap,${suffix}"

# Rechercher par défaut dans les sous OU aussi


scope="sub"

# Cryptage par défaut des mots de passe Linux


# (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt="SSHA"
La configuration des options par défaut Linux :
# Shell par défaut
userLoginShell="/bin/bash"

# Chemin du répertoire home linux


userHome="/home/ldap/%U"

# Mode donné au Home lors de sa création


userHomeDirectoryMode="700"

# Commentaire par défaut


userGecos="System User"

# Groupe principal par défaut


defaultUserGid="513"

# Groupe principal par défaut pour un compte ORDINATEUR


defaultComputerGid="515"

# Répertoire modèle pour la création des nouveaux home


skeletonDir="/etc/skel"

# Nombre de jours maximum pour la validité du mot de passe


defaultMaxPasswordAge="45"

La configuration des options par défaut Windows :

# Partage à monter en tant que Home Drive à la connexion


userSmbHome="%LOGONSERVER%\%U"

# Chemin du profil itinérant


userProfile="%LOGONSERVER%\profiles\%U"

# Lettre à utiliser pour monter le Home Drive


userHomeDrive="Z:"

# Nom du script d'ouverture de session (doit être dans le partage


NETLOGON)
userScript="logon.bat"

# Domaine par défaut de l'email


mailDomain="exemple.com"
# L'utilisateur peut changer son mot de passe
sambaPwdCanChange="1"

3.2.2 Utilisation

smbldap-useradd : le premier utilitaire et surement un des plus utilisé qui permet de venir
ajouter des utilisateurs simplement dans la base LDAP avec les attributs POSIX et/ou
SAMBA.

Cet utilitaire permet de mettre en place de nouveaux utilisateurs avec le parametrage de tous
les attributs utiles de manière assez intuitive car la plupart des options de la ligne de
commande sont similaires à celles de smbpasswd ou passwd.

Usage: /usr/sbin/smbldap-useradd [-awmugdsckABCDEFGHMNPST?] username


-o ajoute l'utilisateur dans l'OU (relative au suffix utilisateur)
-a est un utilisateur Windows (sinon, uniquement POSIX)
-b est un utilisateur AIX
-w est une station de travail Windows
-i is a trust account (Windows Workstation)
-u uid
-g gid
-G groupes supplémentaires séparés par des virgules
-n ne pas créer de groupe
-d home
-s shell
-c commentaires
-m créer le répertoire home et copier /etc/skel
-k répertoire squelette (avec -m)
-t temps. attendre 'temps' secondes avant de quitter ( avec -w )
-P exécute smbldap-passwd après
-A peux changer le mot de passe ? 0 = non, 1 = oui
-B dois changer le mot de passe ? 0 = non, 1 = oui
-C sambaHomePath
-D sambaHomeDrive
-E sambaLogonScript (Script de login)
-F sambaProfilePath (Chemin du profil utilisateur)
-H sambaAcctFlags (Bits de contrôle de compte Samba)
-N surnom
-S nom de famille
-M adresses email locales (séparées par des virgules)
-T adresse email de transfert
-? affiche ce message d'aide

smbldap-passwd : Définir ou redéfinir le mot de passe d'un utilisateur

Usage: /usr/sbin/smbldap-passwd [options] [username]


-h, -?, --help show this help message
-s update only samba password
-u update only UNIX password

smbldap-userdel : Supprimer un utilisateur

Usage: /usr/sbin/smbldap-userdel [-r?] username


-r remove home directory
-R remove home directory interactively
smbldap-usermod : Permet de modifier simplement et rapidement les options d'un utilisateur
avec les mêmes fonctions que smbldap-useradd.

Usage: /usr/sbin/smbldap-usermod [-awmugdsckABCDEFGHIPSMT?h] username


Available options are:
-c gecos
-d home directory
-r new username (cn, sn and dn are updated)
-u uid
-o uid can be non unique
-g gid
-G supplementary groups (comma separated)
-s shell
-N canonical name
-S surname
-P ends by invoking smbldap-passwd
For samba users:
-a add sambaSAMAccount objectclass
-e expire date ("YYYY-MM-DD HH:MM:SS")
-A can change password ? 0 if no, 1 if yes
-B must change password ? 0 if no, 1 if yes
-C sambaHomePath (SMB home share, like '\\PDC-SRV\homes')
-D sambaHomeDrive (letter associated with home share, like 'H:')
-E sambaLogonScript (DOS script to execute on login)
-F sambaProfilePath (profile directory, like '\\PDC-
SRV\profiles\foo')
-H sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
-I disable an user. Can't be used with -H or -J
-J enable an user. Can't be used with -H or -I
-M mailAddresses (comma separated)
-T mailToAddress (forward address) (comma separated)
-?|-h show this help message

smbldap-group* : on retrouve les mêmes commandes que pour les utilisateurs mais qui eux
agissent comme leur nom l'indique sur les groupes.

smbldap-populate : cette commande n'est utilisée qu'une seule fois normalement au moment
où vous venez de finir la configuration de votre serveur LDAP pour créer la base le
l'architecture. Une fois que le serveur LDAP et les smbldap-tools sont configurés exécutez
cette commande pour que les OU et la base de l'annuaire soient créés automatiquement en
fonction des paramètres définis dans la configuration des smbldap-tools.

4 Configuration des clients Linux


Nous avons donc trois endroits où modifier la configuration :

4.1 Configuration PAM

La configuration de PAM se fait sous Fedora ,pour les options à appliquer sur tout le système,
dans le fichier /etc/pam.d/system-auth :

auth sufficient pam_ldap.so use_first_pass


account [default=bad success=ok user_unknown=ignore] pam_ldap.so
password sufficient pam_ldap.so use_authtok
session optional pam_ldap.so
Vous pouvez constater que l'on retrouve le module pam_ldap.so dans les 4 sections.

4.2 Client LDAP

Il est préférable de modifier ce fichier à la main pour vraiment savoir ce que l'on met dedans
de plus certaines distributions intègrent des outils pour faciliter la configuration de ces fichiers
mais pas toutes.
Voilà un fichier /etc/ldap.conf en exemple :

host ldap1.example.com
base dc=example,dc=com
ldap_version 3
port 389
scope one
pam_filter objectclass=posixaccount
pam_login_attribute uid
pam_member_attribute gid
pam_password crypt
nss_base_passwd ou=Users,dc=example,dc=com
nss_base_shadow ou=Users,dc=example,dc=com
nss_base_group ou=Group,dc=example,dc=com
bind_policy soft

Dans ce fichier il faudra modifier la ligne scope one par scope sub si l'on utilise des sous-OU.

Mais il vous faudra aussi modifier le fichier /etc/openldap/ldap.conf pour que tous les
utilitaires fonctionnent
Voilà un fichier /etc/openldap/ldap.conf en exemple :

BASE dc=example,dc=com
URI ldap://ldap1.example.com/

4.3 Configuration NSS

La configuration de NSS est vraiment simple à comprendre et à arranger comme on le


souhaite, il suffit de chercher dans le fichier /etc/nsswitch.conf les lignes pour les bases
de données que l'on souhaite voir utiliser LDAP et de venir rajouter à la fin de la ligne
« ldap » tout simplement. Ce qui nous donnera dans le cas de l'authentification des utilisateurs
les lignes suivantes :

passwd: files ldap


shadow: files ldap
group: files ldap

L'attribut files en début de ligne spécifie qu'il doit d'abord chercher dans les fichiers en local
et venir compléter ses informations avec LDAP. Nous pouvons aussi voir les autres lignes et
ajouter LDAP à certaines suivant les informations que nous voulons dans notre annuaire.

Pour éviter les requêtes trop nombreuses


Pour éviter les requêtes trop nombreuses sur le serveur LDAP vous pouvez activer
le service nscd sur vos clients linux qui mettra en cache les résultats de requêtes et
éviter ainsi de surcharger le serveur LDAP.
5 Configuration des clients Windows
5.1 Création du compte ordinateur

La méthode la plus simple est d'utiliser les smbldap-tools pour le faire, il vous suffira de taper
la commande suivante :

smbldap-useradd -w NomOrdinateur$
Le nom du compte
Vous pouvez écrire le nom du compte avec ou sans le $ à la fin mais je vous
conseille de prendre l'habitude de le mettre afin de bien garder en tête que tout ce
qui finit par $ est un ordinateur Windows. Si vous ne le mettez pas smbldap-
useradd le fera pour vous.

5.2 Ajout de l'ordinateur Windows dans le domaine

De ce coté-là aussi ça donne dans la simplicité, si tout a été bien configuré cette étape devrait
se faire en moins de 5 minutes.
L'option qui nous intéresse est un peu cachée, il faut aller dans :

 Panneau de configuration
 Système
 Onglet nom de l'ordinateur
 Modifier

Une fois dans cette petite boîte de dialogue tout est relativement facile, en haut vous trouverez
une case contenant le nom actuel de l'ordinateur et en bas deux cases avec un bouton radio
pour activer l'une ou l'autre. Il faut activer la case « Domaine » et dedans vous viendrez saisir
le nom que vous avec donné à votre domaine dans la configuration de Samba ( ici EXEMPLE
).
Windows vous demandera alors de saisir des informations d'identification veillez à bien saisir
un nom d'utilisateur et un mot de passe ayant les droits administrateurs sur le domaine.
Une fois que Windows vous aura confirmé l'entrée dans le domaine il vous restera seulement
à redémarrer, une fois arrivé sur la boite d'ouverture de session Windows vous pourrez
constater la présence d'une liste de choix en bas, sélectionnez le nom du domaine et entrez les
informations d'identification d'un utilisateur du domaine.
Vous voilà maintenant avec une station qui peux utiliser les différents comptes utilisateurs de
votre base LDAP.

6 Quelques trucs pouvant aider


6.1 Impossible de se connecter en tant que root

Vous avez fait une erreur dans votre configuration PAM ou dans le fichier /etc/ldap.conf
des PAM et/ou NSS ? Pas de panique, vous pouvez peut-être vous en sortir sans devoir
redémarrer en ajoutant à votre annuaire l'objet suivant :

dn: uid=root,ou=Admins,dc=example,dc=com
cn: root
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
uid: root
uidNumber: 0
gidNumber: 0
userPassword:: eMNoen1gVuZerulrbsFdre9PVAJRSIROSL3sS4LESS09
homeDirectory: /root
loginShell: /bin/bash

N'oubliez pas de changer le mot de passe avant l'insertion dans l'annuaire. Cela ne fonctionne
bien évidemment que s'il n'a pas été spécifié d'uid minimal définissable par LDAP. Sinon, un
reboot en single-user voire un CD de secours s'impose...
Dans ces cas-là, toujours conserver un terminal root dans un coin pour pouvoir modifier la
configuration entre deux tests qui font échouer un su - root ou un ssh root@localhost.
LDAP Server
Build LDAP Server in order to share users' accounts in local networks.
 
[1] Install and Configure OpenLDAP.
[root@dlp ~]#
yum -y install openldap*

# generate password for ldap admin

[root@dlp ~]#
slappasswd -s password -h {MD5}

# (1) remember

{MD5}************************

[root@dlp ~]#
vi /etc/openldap/slapd.conf

# line 89: specify suffix

suffix   "dc=
server-linux
,dc=
info
"

# line 91: specify admin suffix

rootdn   "cn=Manager,dc=
server-linux
,dc=
info
"

# line 97: specify password generated (1)

rootpw   {MD5}************************

# add at the bottom

access to attrs=userPassword
    by self write
    by dn="cn=Manager,dc=server-linux,dc=info" write
    by anonymous auth
    by * none
access to *
    by dn="cn=Manager,dc=server-linux,dc=info" write
    by self write
    by * read

[root@dlp ~]#
vi /etc/openldap/ldap.conf

BASE   dc=
server-linux
, dc=
info

[root@dlp ~]#
vi /etc/ldap.conf

base dc=
server-linux
,dc=
info

[root@dlp ~]#
cd /usr/share/doc/openldap-servers-2.4.15

[root@dlp openldap-servers-2.4.15]#
cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@dlp openldap-servers-2.4.15]#
cd

[root@dlp ~]#
/etc/rc.d/init.d/ldap start

Starting slapd:
[  OK  ]

[root@dlp ~]#
chkconfig ldap on
[2] Add initial information
[root@dlp ~]#
vi base.ldif

# create new
dn: dc=server-linux,dc=info
objectClass: dcObject
objectClass: organization
o: server-linux Organization
dc: server-linux

dn: cn=Manager,dc=server-linux,dc=info
objectClass: organizationalRole
cn: manager

dn: ou=People,dc=server-linux,dc=info
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=server-linux,dc=info
objectClass: organizationalUnit
ou: Group

[root@dlp ~]#
ldapadd -h localhost -x -D "cn=Manager,dc=server-linux,dc=info" -W -f base.ldif

Enter LDAP Password:


# ldap admin password

adding new entry "dc=server-linux,dc=info"

adding new entry "cn=Manager, dc=server-linux,dc=info"

adding new entry "ou=People,dc=server-linux,dc=info"

adding new entry "ou=Group,dc=server-linux,dc=info"


[3] Add Existing User and Group to LDAP Server
[root@dlp ~]#
wget http://www.padl.com/download/MigrationTools.tgz

[root@dlp ~]#
tar zxvf MigrationTools.tgz

[root@dlp ~]#
cd MigrationTools-47

[root@dlp MigrationTools-47]#
vi migrate_common.ph

# line 71: specify domain name


$DEFAULT_MAIL_DOMAIN = "
server-linux.info
";

# line 74: specify suffix

$DEFAULT_BASE = "dc=
server-linux
,dc=
info
";

[root@dlp MigrationTools-47]#
grep ":5[0-9][0-9]" /etc/passwd > passwd

[root@dlp MigrationTools-47]#
grep ":5[0-9][0-9]" /etc/group > group

[root@dlp MigrationTools-47]#
./migrate_passwd.pl passwd > passwd.ldif

[root@dlp MigrationTools-47]#
./migrate_group.pl group > group.ldif

# add user and group to LDAP Server

[root@dlp MigrationTools-47]#
ldapadd -h localhost -x -D "cn=Manager,dc=server-linux,dc=info" -W -f passwd.ldif

Enter LDAP Password:


adding new entry "uid=fedora,ou=People,dc=server-linux,dc=info"
[root@dlp MigrationTools-47]#
ldapadd -h localhost -x -D "cn=Manager,dc=server-linux,dc=info" -W -f group.ldif

Enter LDAP Password:


adding new entry "cn=fedora,ou=Group,dc=server-linux,dc=info"
[4] If you'd like to delete User or Group that is added in LDAP Server, Do as below.
[root@dlp ~]#
ldapdelete -h localhost -x -D 'cn=Manager,dc=server-linux,dc=info' -W
"uid=cent,ou=people,dc=server-linux,dc=info"

Enter LDAP Password:


[root@dlp ~]#
ldapdelete -h localhost -x -D 'cn=Manager,dc=server-linux,dc=info' -W
"cn=cent,ou=group,dc=server-linux,dc=info"

Enter LDAP Password: