documentation technique samba

97
 Rapport d'installation d'un serveur Samba 3 PDC – LDAP – Serveur d'impression EDGE-IT SARL au capital de 10 000  – RCS PARIS B 444 481 204 19, rue de Turbigo 75002 PARIS Tel : 01 44 82 78 85 – Fax : 01 44 82 78 89 Auteur : Loïc Vaillant document : Rapport d'installation de la solution SmartShare - Document Type Référence : DT-RI-SmartShare-DocumentMaitre.sxg Date : 18/11/04

Upload: galileo21

Post on 06-Jul-2015

295 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 1/97

 

Rapport d'installation

d'un serveur Samba 3

PDC – LDAP – Serveur d'impression

EDGE-IT SARL au capital de 10 000 € – RCS PARIS B 444 481 204

19, rue de Turbigo 75002 PARISTel : 01 44 82 78 85 – Fax : 01 44 82 78 89

Auteur : Loïc Vaillant

document : Rapport d'installation de la solution SmartShare - Document Type

Référence : DT-RI-SmartShare-DocumentMaitre.sxg

Date : 18/11/04

Page 2: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 2/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

HISTORIQUE

Version Date Auteur Etat Commentaires Autorisation

V 0.1 21-27/10/03 LVT Draft Parties 1 – 2 - 3

V 0.2 27/10/03 ANS Draft Relecture – Corrections

V 0.3 28/10/03 LVT Draft Partie 4

V 0.4 28/10/03 ANS Draft Relecture – Corrections

V 0.5 29/10/03 LVT Draft Partie 5, Corrections 3.6,

Ajout 3.7

V 0.6 02/11/03 PLT Draft Relecture - Corrections

V 0.7 03/11/02 ANS Draft Relecture - Corrections

V 0.8 09/12/03 LVT Draft Partie 6V 0.9 22/12/03 LVT Draft Conventions de lecture –  

Licence du document

V 1 12/01/04 LVT Document Annexes client

V 1.1 16/02/04 LVT Document Modification des fichiers

de configuration

V 1.2 19/03/04 ANS Document Relecture - Corrections

V 1.3 05/05/04 SLI Final Relecture - Corrections LVT

Page 2 / 97

Page 3: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 3/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Table des matières

Licence du document.........................................................................................5Conventions de lecture......................................................................................6Objectif : Serveur PDC/LDAP + Serveur de fichier + Serveur d'impression.....71 Installation de la machine et des services......................................................8

1.1 Méthode d'installation : « Kickstart »......................................................81.2 OpenSSH..................................................................................................91.3 OpenLDAP................................................................................................91.4 CUPS......................................................................................................10

1.5 Samba....................................................................................................102 Configuration des services............................................................................11

2.1 Configuration réseau..............................................................................112.1.a Le nom de la machine......................................................................112.1.b La configuration DNS......................................................................122.1.c La connexion au réseau...................................................................12

2.2 OpenSSH................................................................................................142.3 OpenLDAP..............................................................................................15

2.3.a Serveur OpenLDAP..........................................................................152.3.b Clients OpenLDAP...........................................................................17

2.4 Pam & NSS, authentification LDAP.......................................................212.5 Cups :.....................................................................................................242.5.a Configuration générale....................................................................242.5.b Préparatifs pour Samba...................................................................252.5.c Définition d'une imprimante............................................................26

2.6 Samba :..................................................................................................272.6.a Hypothèses de travail......................................................................272.6.b Le fichier de configuration Samba..................................................272.6.c Création de l'utilisateur administrateur..........................................34

3 Association des services et test de Samba :..................................................363.1 Vérification de la configuration Samba avec testparm..........................36

3.2 SID et création de l'utilisateur administrateur .....................................383.3 Rôle du Serveur.....................................................................................393.4 Samba - LDAP : Authentification............................................................403.5 Connexion aux services (partie fichiers)................................................403.6 Création des imprimantes sous Samba..................................................413.7 Les répertoires à créer et leurs droits...................................................44

4 Outils optionnels...........................................................................................454.1 Les prérequis.........................................................................................454.2 Liste des outils disponibles....................................................................454.3 Configuration.........................................................................................464.4 Manipulation..........................................................................................484.5 Détails des commandes disponibles.......................................................50

Page 3 / 97

Page 4: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 4/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

4.5.a Les utilisateurs................................................................................50

4.5.b Les groupes.....................................................................................564.5.c Les machines...................................................................................584.5.d Les autres outils..............................................................................59

5 Intégration de clients Windows....................................................................605.1 Inscription On-The-Fly...........................................................................605.2 Inscription manuelle..............................................................................665.3 Connexion d'un utilisateur.....................................................................67

6 Configuration des imprimantes du PDC.......................................................72 Annexes...........................................................................................................77Fichier auto_inst.cf..........................................................................................78Les fichiers de configuration complets............................................................81

/etc/openldap/slapd.conf.............................................................................81/etc/openldap/ldap.conf...............................................................................83/etc/nsswitch.conf.......................................................................................84/etc/pam.d/system-auth...............................................................................85/etc/cups/cupsd.conf....................................................................................85/etc/cups/client.conf....................................................................................87/etc/samba3/smb.conf.................................................................................88/etc/samba3/smbldap_conf.pm....................................................................91/home/netlogon/logon_script.......................................................................95/usr/local/sbin/mkhomedir...........................................................................96

/home/netlogon/MyDocs.reg.......................................................................97Liens - Bibliographie........................................................................................98

Page 4 / 97

Page 5: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 5/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Licence du document

DT-RI-SmartShare-DocumentMaitre.sxgCopyright © 2003-2004 - EDGE-IT.

Ce document est strictement confidentiel.

Ce document est réservé au seul usage des administrateurs duréseau informatique interne du client (Le CLIENT). Il peut en êtreréalisé des copies pour une utilisation de ce support dans ce cadreprécis.

Il ne peut pas en être fourni une reproduction papier ou électroniqueà un tiers, sur le Net ou sur le réseau interne. Il ne peut pas en être vendu une copie totale ou partielle sans l'accord écrit d'EDGE-IT.

Page 5 / 97

Page 6: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 6/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Conventions de lecture

Les noms de fichiers, de répertoires ou de packages1, ainsi que les attributsde fichiers de configuration sont en courier-10 :• /etc/openldap/slapd.conf

• bind-utils

• /usr/share/samba3/scripts/smbldap-useradd3 -g users -a -P utilisateur1

Les commandes et leurs résultats sont présentés dans des cadres à fondgrisé en courier-10. Les commandes sont précédées du signe $ représentant leprompt de votre shell :

$ cat /etc/resolv.conf

search edge-it.subnet

nameserver 192.168.10.2

nameserver 193.252.19.3

Certains résultats notables sont affichés en gras :$ testparm3

Load smb config files from /etc/samba3/smb.conf

Processing section "[homes]"Processing section "[netlogon]"

Processing section "[profiles]"

Processing section "[printers]"

Processing section "[print$]"

Loaded services file OK.

Server role: ROLE_DOMAIN_PDCPress enter to see a dump of your service definitions

...

1 Paquetages

Page 6 / 97

Page 7: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 7/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Objectif : Serveur PDC/LDAP + Serveur de fichier +Serveur d'impression

Ce document a pour but de présenter l'installation d'un serveurSamba (contrôleur principal de domaine, authentification etautorisations, serveur de fichiers et d'impression) basé sur un annuaireLDAP pour la gestion des utilisateurs.

Il décrit la méthode d'installation, les éléments spécifiques auxbesoins du service ainsi que la configuration mise en oeuvre.

On trouvera aussi une notice explicative des outils de base pourtester le service et ajouter les premiers utilisateurs.

Page 7 / 97

Page 8: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 8/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

1 INSTALLATION DE LA  MACHINE ET DES SERVICES

La distribution sur laquelle se base l'installation de ce service est uneMandrakeLinux 9.2 (fivestar)2. Plutôt que de sélectionner les packagesmanuellement lors de chaque installation, une procédure d'installation, dite"kickstart", permet d'effectuer un grand nombre d'étapes (voire toutes)automatiquement.

Cette méthode permet donc de disposer d'un système d'exploitation allégé,

contenant uniquement les briques logicielles nécessaires à la mise en oeuvredu service, à savoir :* l'annuaire OpenLDAP* le serveur de fichiers Samba* le serveur d'impression CUPS

On installe aussi les clients correspondants afin de pouvoir tester lasolution, étape par étape.

Pour faciliter l'administration de ce serveur, le serveur OpenSSH est aussiinstallé pour une prise de contrôle à distance.

1.1 M É THODE  D ' INSTALLATION  : « K ICKSTART  »

Parfaitement intégrée dans les procédures d'installation standards de laMandrakeLinux 9.2 (fivestar), la méthode kickstart permet l'installation rapidede clones. Ainsi, en modifiant quelques paramètres systèmes (réseau,matériel...) dans le fichier approprié (auto_inst.cfg), on peut déployer unemême solution rapidement sur un grand nombre de machines.

 Via ce système de kickstart, la configuration système (clavier, souris, écran,réseau, utilisateurs de base) est prédéfinie. Toutes les opérations peuvent êtreautomatisées, mais on peut néanmoins en rendre certaines (comme lepartitionnement) interactives, afin de les adapter à la machine cible.

On pourra générer son premier fichier de configuration kickstart via laprocédure d'installation interactive de la distribution. Après une installationmanuelle, un fichier auto_inst.cfg est généré dans le répertoire /root/drakx/. Ilsera reporté sur disquette avec la commande drakautoinst (disponible dans lepackage drakxtools-newt).

2 http://qa.mandrakesoft.com/twiki/bin/view/Main/ReleasesHistory

Page 8 / 97

Page 9: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 9/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Ce mécanisme de kickstat n'inclut pas de post-configuration permettant lamodification interactive des fichiers de configuration des services installés.L'équipe Edge-IT a donc intégré un certain nombre de fichiers "templates"afin de faciliter le travail de mise en oeuvre du service. Un mécanismestandard "mandrake-firstime3", modifié par nos soins, prépare ces fichiers en lesrecopiant d'un CD additionnel vers le disque de la machine.

  Vous trouverez en annexe le fichier utilisé pour le kickstart lors dudéploiement.

1.2 O PEN SSH 

OpenSSH fournit un accès distant à la machine via une connexion sécurisée(SSH = Secure SHell). L'administration des différents services peut ainsi seréaliser à partir de n'importe quel poste, pour autant que la connexion réseausoit possible.

Site Officiel : http://www.openssh.org Version installée : 3.6.1p2-8mdk 

L'authentification pour ce service est principalement assurée par lesfichiers système classiques( /etc/passwd notamment). On peut néanmoinsenvisager de pouvoir authentifier des utilisateurs LDAP.

1.3 O PEN LDAP 

Il s'agit d'un service d'annuaire permettant (notamment) la centralisationdes informations d'authentification des utilisateurs d'un ou plusieurs services

répartis sur une ou plusieurs machines.

Site officiel : http://www.openldap.org Version installée : 2.1.22-5mdk 

L'annuaire LDAP contient les informations système et Samba/Windowsconcernant les utilisateurs, les groupes auxquels ils peuvent appartenir, ainsique les informations concernant les machines qui sont autorisées à joindre ettravailler sur le domaine.

Dans le cadre d'un PDC4, Samba interroge et met à jour les informations

3 Fichier /etc/init.d/mandrake_firstime4 Primary Domain Controler ou Contrôleur Principal de Domaine

Page 9 / 97

Page 10: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 10/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

contenues dans l'annuaire.

1.4 CUPS 

Il s'agit d'un serveur d'impression gérant les files d'attente, ainsi que lepartage des imprimantes pour des postes clients.

Site officiel : http://www.cups.org/ Version installée : 1.1.19-10mdk 

En configurant des imprimantes au niveau de CUPS, Samba est capable dedialoguer avec ce service pour les proposer à ses clients Windows. CUPSpropose des outils de gestion des imprimantes pour Samba afin de ne pasavoir à installer les drivers sur les postes clients. Le serveur d'impression peutainsi les mettre à disposition directement.

1.5 S  AMBA 

Samba gère principalement le rôle de serveur de fichiers et/oud'impression. Il est possible de l'intégrer à un workgroup ou à un domaineexistant. Mais il peut aussi être le PDC (voire le contrôleur secondaire ouBDC).

Site Officiel : http://www.samba.org Version installée : 3.0.2a (Edge-IT)

Samba gère donc le partage de fichiers ainsi que la gestion des droitsd'accès sur ces fichiers (il faut néanmoins un système de fichiers particulierpour cela - XFS par exemple qui est intégré dans la solution présentée dans ce

document). Pour reconnaître les utilisateurs et les groupes, il se base sur lesinformations contenues dans l'annuaire LDAP.

Il transmet aussi les ordres d'impression à CUPS pour le serviced'impression.

Page 10 / 97

Page 11: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 11/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

2 CONFIGURATION DES SERVICES

Une fois la procédure d'installation du serveur et des packages terminée, ilest nécessaire de mettre en place l'ensemble des services. Etape par étape,ces derniers seront configurés, puis testés afin de valider le bonfonctionnement de l'ensemble.

2.1 C ONFIGURATION  R É SEAU 

Le kickstart est préparé de manière à positionner la configurationcorrectement. Il contient les informations de base pour la configuration duréseau.

Les fichiers système suivants contiennent les principales informations,e tpermettent de compléter la configuration, le cas échéant :

2.1. A  LE NOM DE LA  MACHINE

$ cat /etc/hosts

127.0.0.1 localhost

192.168.10.107 bohrium.edge-it.subnet bohrium

Ce fichier contient un enregistrement par ligne, faisant correspondre uneadresse IP avec un nom. Pour la qualification du nom, la forme longue5 serasouvent complétée par une forme courte sans le nom de domaine. On pourraplacer dans ce fichier toutes les machines que doit pouvoir contacter leserveur si on ne se sert pas d'un serveur DNS.

Ici, il est spécifié le loopback, ainsi que l'IP et le nom officiels de lamachine.

Un deuxième fichier contient le nom de la machine :

$ cat /etc/sysconfig/network

HOSTNAME=bohrium

NETWORKING=yes

GATEWAY=192.168.10.1

Il contient aussi quelques informations réseaux détaillées plus loin dans cedocument.

5 Fully Qualified Domain Name ou FQDN

Page 11 / 97

Page 12: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 12/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

On peut momentanément changer localement le nom de la machine avec la

commande hostname, mais cette modification sera perdue au prochain reboot.Les deux fichiers présentés ci-dessus sont les seuls qui pérennisent lamodification.

2.1.B L A  CONFIGURATION DNS

Si ce service n'est pas obligatoire, il évite néanmoins d'avoir à remplirmanuellement le fichier /etc/hosts.

$ cat /etc/resolv.conf

search edge-it.subnet

nameserver 192.168.10.2

nameserver 193.252.19.3

La première ligne sert à compléter le nom d'une machine si on utilise sonnom court. Ce dernier devient donc un FQDN6, traduit ensuite en adresse IPafin d'accéder à la machine.

La ou les lignes suivantes spécifient les serveurs DNS à interroger pourcette transformation nom<->IP. On pourra ajouter autant de lignes qu'on lesouhaite, la résolution s'arrêtant dès qu'une réponse est renvoyée par lesserveurs, interrogés dans l'ordre du fichier.

Si le package bind-utils est installé, les commandes host et nslookup

permettent de vérifier le bon fonctionnement de la configuration (à conditionque le réseau soit déjà configuré) :

$ host helium

helium.edge-it.subnet has address 192.168.10.2

$ nslookup helium

Note: nslookup is deprecated and may be removed from future releases.

Consider using the `dig' or `host' programs instead. Run nslookup with

the `-sil[ent]' option to prevent this message from appearing.

Server: 192.168.10.2Address: 192.168.10.2#53

Name: helium.edge-it.subnet

Address: 192.168.10.2

2.1.C L A  CONNEXION  AU RÉSEAU

Il s'agit de configurer la carte réseau puis de configurer les routes afin depouvoir communiquer avec d'autres machines.

6 Fully Qualified Domain Name

Page 12 / 97

Page 13: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 13/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

En supposant que le serveur n'aie qu'une carte réseau, on devrait vérifier le

fichier suivant afin de positionner l'IP de la machine :

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.10.107

NETMASK=255.255.255.0

NETWORK=192.168.10.0

BROADCAST=192.168.10.255

ONBOOT=yes

Le DEVICE est le nom associé à la carte réseau. Le BOOTPROTO définit si l'IP est

statique ou obtenue via un serveur DHCP.Si BOOTPROTO est égal à static, on définit l'adresse IP (IPADDR) de la machine au

sein de ce même fichier, ainsi que que le masque réseau (NETMASK), l'adresse duréseau (NETWORK) et l'adresse de broadcast (BROADCAST).

On active aussi cette interface dès le démarrage du système (ONBOOT).

Pour que ce fichier soit lu et interprété, il faut se pencher sur le fichier /

etc/sysconfig/network aperçu au paragraphe « Le nom de la machine ».

$ cat /etc/sysconfig/network

HOSTNAME=bohrium

NETWORKING=yes

GATEWAY=192.168.10.1

NETWORKING précise si le service réseau doit être lancé au boot ou non.GATEWAY spécifie la route par défaut de la machine. Toutes les connexions

 vers des adresses IP autres que celles du réseau local, seront dirigées verscette passerelle qui se chargera de les router vers leur destination.

 Après modification, le service réseau sera relancé de la sorte :

$ service network restart

Pour vérifier que les modifications sont prises en compte :

$ ifconfig eth0

eth0 Lien encap:Ethernet HWaddr 00:E0:18:BC:42:C7

inet adr:192.168.10.107 Bcast:192.168.10.255 Masque:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:37057 errors:0 dropped:0 overruns:0 frame:0

TX packets:22879 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 lg file transmission:100

RX bytes:5947221 (5.6 Mb) TX bytes:6910280 (6.5 Mb)

Interruption:3 Adresse de base:0x8800

Page 13 / 97

Page 14: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 14/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

L'adresse IP, le BROADCAST et le NETMASK apparaissent.

$ route -n

Table de routage IP du noyau

Destination Passerelle Genmask Indic Metric Ref Use Iface

192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0

La route par défaut (0.0.0.0) passe bien par la passerelle spécifiée dans lefichier de configuration.

Si le package iputils est installé, la commande ping est un test simple pour vérifier le fonctionnement du réseau. Néanmoins, si elle ne répond rien, celane signifie pas que le réseau ne fonctionne pas, il est possible que l'adressequ'on cherche à atteindre soit protégée par un firewall refsant les connexionsICMP (ping). Les commandes host et nslookup par exemple complètent le test.

2.2 O PEN SSH 

L'installation du package suffit à la mise en oeuvre du service. Tous les

utilisateurs définis sur le système (dans /etc/passwd, i.e. root, admin...) pourrontaccéder à distance à la machine.

De même, via ce canal sécurisé, il est possible de lancer des applicationsgraphiques dont l'interface apparaît sur la machine client.

Si ces fonctionnalités sont intéressantes dans certains cas précis, il estnéanmoins conseillé de les désactiver :

$ cat /etc/ssh/sshd_config

...

# on empêche le login direct en root

PermitRootLogin no

...

# on ne lance pas d'applications graphiques à travers SSH

X11Forwarding no

...

Ces deux lignes pourront passer à yes pour réactiver l'option concernée. Laprise en compte d'une modification sera faite par la commande suivante :

$ service sshd restart

Page 14 / 97

Page 15: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 15/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

2.3 O PEN LDAP 

(Ce document considère que le lecteur possède les connaissances de base concernant LDAP).

L'installation se décompose en une partie serveur, et une partie client.Cette dernière nous servira autant pour les tests de la partie serveur que pourla communication entre Samba et OpenLDAP.

Pour cette installation, l'arbre LDAP utilisé est le plus plat possible :

dc=edge-it,dc=fr

|

|- ou=Users (contiendra les utilisateurs)|

|- ou=Groups (contiendra les groupes)

|

|- ou=Computers (contiendra les machines du domaine)

|

|-...

2.3. A  SERVEUR OPENLDAP

$ less /etc/openldap/slapd.conf

# La liste des schémas à inclure

include /usr/share/openldap/schema/core.schema

include /usr/share/openldap/schema/cosine.schema

include /usr/share/openldap/schema/corba.schema

include /usr/share/openldap/schema/inetorgperson.schema

include /usr/share/openldap/schema/java.schema

include /usr/share/openldap/schema/krb5-kdc.schema

include /usr/share/openldap/schema/kerberosobject.schema

include /usr/share/openldap/schema/misc.schema

include /usr/share/openldap/schema/nis.schema

include /usr/share/openldap/schema/openldap.schema

include /usr/share/openldap/schema/rfc822-MailMember.schema

include /usr/share/openldap/schema/mailrouter.schema

# Le schéma Samba

include /usr/share/doc/samba3-doc-3.0.0/examples/LDAP/samba.schema

# les éventuels schémas personnels sur la machine

include /etc/openldap/schema/local.schema

pidfile /var/run/ldap/slapd.pid

argsfile /var/run/ldap/slapd.args

modulepath /usr/lib/openldap

# la configuration pour LDAPSTLSCertificateFile /etc/ssl/openldap/ldap.pem

Page 15 / 97

Page 16: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 16/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem

TLSCACertificateFile /etc/ssl/openldap/ldap.pem

##################################

### ###

### Déclaration du backend ###

### ###

##################################

# stockage sous forme de base ldbm

database ldbm

# racine de l'arbre

suffix "dc=edge-it,dc=subnet"

# DN du Manager

rootdn "cn=Manager,dc=edge-it,dc=subnet"

# mot de passe du Managerrootpw secret

# répertoire de stockage de ce backend

directory /var/lib/ldap

# Indexes créés sur ce backend

index objectClass,uid,uidNumber,gidNumber eq

index cn,mail,surname,givenname eq,subinitial

# niveau de log pour suivre les discussions avec le serveur LDAP

loglevel 256

# quelques ACLs de protection d'information

#access to attr=userPassword# by self write

# by anonymous auth

# by dn="cn=Manager,dc=edge-it,dc=subnet" write

# by * none

#access to attr=sambaLMPassword

# by self write

# by anonymous auth

# by dn="cn=Manager,dc=edge-it,dc=subnet" write

# by * none

#access to attr=sambaNTPassword

# by self write# by anonymous auth

# by dn="cn=Manager,dc=edge-it,dc=subnet" write

# by * none

# Attention : il faut cette ACL pour que la commande ldapsearch -x simple

retourne un résultat

access to *

by self write

by dn="cn=Manager,dc=edge-it,dc=subnet" write

by * read

La configuration de base se fait sur les trois options suivantes :

Page 16 / 97

Page 17: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 17/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

* suffix : on définit la base de l'arborescence LDAP a utiliser

* rootdn : on définit un super-utilisateur LDAP* rootpw : le mot de passe du super-utilisateur peut être en clair ou

crypté

Les ACLs permettent de masquer certains attributs en fonction del'utilisateur qui interroge l'annuaire. Elles ne sont pas indispensables au bonfonctionnement de la solution, mais elles sécurisent l'application. Il est doncpréférable de maîtriser leur fonctionnement.

Il suffit ensuite de démarrer le serveur avec la commande suivante :

$ service ldap start

2.3.B CLIENTS OPENLDAP

  Afin de pouvoir interroger le serveur, il faut compléter un fichier deconfiguration qui renseignera les clients LDAP. Les commandes de base,ldapsearch par exemple, acceptent des paramètres afin de spécifier la partie del'arbre à interroger. En enregistrant ces informations dans le fichier /

etc/openldap/ldap.conf (ou /etc/ldap.conf qui sera en général un liensymbolique sur le précédent), il ne sera plus nécessaire de les spécifier.

$ cat /etc/openldap/ldap.conf

# Caractéristiques du serveur LDAP a interroger

host 127.0.0.1

port 389

ssl no

# partie de l'arbre a interroger

base dc=edge-it,dc=fr

# utilisateur interrogeant l'annuaire

#binddn cn=Manager,dc=edge-it,dc=fr

# le mot de passebindpw secret

# idem quand on est root (souvent le manager lui-même)

# le mot de passe sera dans /etc/ldap.secret

rootbinddn cn=Manager,dc=edge-it,dc=fr

# la requête utilise le scope ci-dessous par défaut

# sub/one/base

scope sub

# le filtre par défaut d'un utilisateur système

pam_filter objectclass=posixaccount

# le nom système (login) de l'utilisateur est dans le champs spécifie icipam_login_attribute uid

Page 17 / 97

Page 18: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 18/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# les mots de passe sont au format MD5pam_password md5

# les OUs où se trouvent les utilisateurs et groupes

nss_base_passwd o=edge-it,dc=fr?sub

nss_base_shadow o=edge-it,dc=fr?sub

nss_base_group ou=Groups,o=edge-it,dc=fr?sub

L'option base peut être une sous-partie de l'arbre définie dans LDAP (parexemple, ou=Users,dc=edge-it,dc=fr).

L'option binddn n'est pas obligatoire. Si elle n'est pas spécifiée, l'annuairesera interrogé de manière anonyme (à condition que les ACLs définies dans /

etc/openldap/slapd.conf le permettent) si la requête est effectuée par un autreutilisateur que root.

L'option rootbinddn ne contient pas obligatoirement le manager LDAP, maisun utilisateur qui aura les droits de lecture (voire d'écriture) sur l'arbre LDAP(à condition que les ACLs définies dans /etc/openldap/slapd.conf lepermettent). Ce sera l'utilisateur utilisé lorsque root fera des requêtes.

L'option scope peut être modifiée pour éviter un parcours massif de l'arbre,mais cela obligera à spécifier la méthode de recherche sur la ligne decommande dès qu'on souhaitera une requête sur tout l'arbre. (base présentel'entrée correspondant exactement à l'élément recherché; one présente les

entrées dont le parent direct est l'élément de recherche indiqué; sub présentetoutes les entrées de la sous-arborescence de l'élément recherché).

La définition d'un utilisateur système peut être basée sur un autreobjectclass que posixAccount. Néanmoins, c'est ce dernier qui définit demanière standard les mêmes champs que le fichier /etc/passwd. De même, lechamp uid est prévu à cet effet.

On cryptera les mots de passe en MD5, interprétables par la plupart desclients LDAP.

Les options nss_base pourraient restreindre la recherche des utilisateursdans l'OU concernée (ou=Users), mais en faisant cela, on provoque une mauvaisegestion des uidNumber pour la création des utilisateurs et des machines. Eneffet, les machines ne sont que des utilisateurs un peu particuliers. Lors de lacréation d'une machine dans l'arbre LDAP, il faut que l'on soit capable dedéterminer le premier uidNumber libre en vérifiant dans les deux Ous. Dans lecas contraire, on risque la présence de doublons.

Cela signifie qu'on cherche cet uidNumber à partir du point spécifié, et danstoute la sous-arborescence. Si l'arbre contient de nombreuses OUs au mêmeniveau, cela peut être long. Une solution serait de regrouper les utilisateurs etles machines dans une même OU et de limiter la recherche à cette portion de

l'arbre. Une autre solution serait de patcher les outils de génération des

Page 18 / 97

Page 19: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 19/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

entrées dans l'arbre LDAP pour qu'ils sachent précisément où chercher les

uidNumber.Dans le cadre simple que nous mettons en place, la configuration proposée

ici suffit amplement.

Le fichier /etc/ldap.secret doit contenir le mot de passe du manager, etavoir les droits en lecture/écriture uniquement pour root :

$ ll /etc/ldap.secret

-rw------- 1 root root 12 sep 29 23:06 /etc/ldap.secret

$ cat /etc/ldap.secret

secret

 A priori, à partir de cet instant, on peut interroger l'annuaire LDAP via lescommandes LDAP standards. Cependant, la base n'a pas encore été alimentée.

 Voici un petit fichier qui met en place la structure de base exposée en débutde paragraphe.

$ cat /root/ldap.ldif

dn: dc=edge-it,dc=subnet

objectClass: topobjectClass: organization

objectClass: dcObject

l: Paris

st: Ile-de-France

o: edge-it

dc: edge-it

dn: ou=Users,dc=edge-it,dc=fr

ou: Users

objectClass: top

objectClass: organizationalUnit

description: Utilisateurs

dn: ou=Groups,dc=edge-it,dc=fr

objectClass: top

objectClass: organizationalUnit

ou: Groups

description: Groupes

dn: ou=Computers,dc=edge-it,dc=fr

objectClass: top

objectClass: organizationalUnit

ou: Computers

description: Machines du domaine

Pour injecter ces données :

Page 19 / 97

Page 20: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 20/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ ldapadd -x -D "cn=Manager,dc=edge-it,dc=fr" -w secret -f /root/ldap.ldif

Pour les consulter :

$ ldapsearch -x

version: 2

#

# filter: (objectclass=*)

# requesting: ALL

#

# edge-it, frdn: dc=edge-it,dc=subnet

objectClass: top

objectClass: organization

objectClass: dcObject

l: Paris

st: Ile-de-France

o: edge-it

dc: edge-it

# Users, edge-it, fr

dn: ou=Users,dc=edge-it,dc=fr

ou: Users

objectClass: topobjectClass: organizationalUnit

description: Utilisateurs

# Groups, edge-it, fr

dn: ou=Groups,dc=edge-it,dc=fr

objectClass: top

objectClass: organizationalUnit

ou: Groups

description: Groupes

# Computers, edge-it, fr

dn: ou=Computers,dc=edge-it,dc=fr

objectClass: top

objectClass: organizationalUnit

ou: Computers

description: Machines du domaine

# search result

search: 2

result: 0 Success

# numResponses: 5

# numEntries: 4

On ajoutera un utilisateur de test, afin de vérifier les possibilités

Page 20 / 97

Page 21: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 21/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

d'authentification de nos différents services.

 A supposer que les répertoires des utilisateurs soit dans /home, et qu'onutilise un groupe défini dans LDAP, voici les informations :

$ cat /root/groups.ldif

# utilisateurs, Groups, edge-it, fr

dn: cn=utilisateurs,ou=Groups,dc=edge-it,dc=fr

objectClass: inetOrgPerson

objectClass: posixGroup

gidNumber: 1001

cn: utilisateurs

sn: utilisateurs

o: Edge-IT Groupesdescription: Utilisateurs Edge-IT

$ cat /root/users.ldif

# user, Users, edge-it, fr

dn: uid=user,ou=Users,dc=edge-it,dc=fr

objectClass: top

objectClass: inetOrgPerson

objectClass: posixAccount

userPassword:: e2NyeXB0fSQxJGtTSnlsZlhxJG5GQlNUYVlIMHlyNHNzbGZ2emZlQy8=

uid: user

uidNumber: 1001

gidNumber: 1001cn: user

sn: user

gecos: Utilisateur de test

loginShell: /bin/bash

homeDirectory: /home/user

$ ldapadd -x -D "cn=Manager,dc=edge-it,dc=fr" -w secret -f /root/groups.ldif

$ ldapadd -x -D "cn=Manager,dc=edge-it,dc=fr" -w secret -f /root/users.ldif

Le mot de passe de l'utilisateur user est user. pour cet exemple.

2.4 P  AM & NSS,  AUTHENTIFICATION  LDAP 

Pour qu'un utilisateur LDAP puisse s'authentifier comme utilisateursystème, il faut configurer le système correspondant sur la machine : il s'agitde PAM.

Il est possible de configurer indépendamment les services afin que seulscertains puissent s'authentifier via LDAP. N'étant pas le sujet de ce document,une solution d'authentification générale est mise en oeuvre. /etc/pam.d/system-

auth sera modifié afin d'interroger LDAP :

Page 21 / 97

Page 22: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 22/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ cat /etc/pam.d/system-auth

#%PAM-1.0# This file is auto-generated.

# User changes will be destroyed the next time authconfig is run.

auth required /lib/security/pam_env.so

auth sufficient /lib/security/pam_unix.so likeauth nullok

auth sufficient /lib/security/pam_ldap.so use_first_pass

auth required /lib/security/pam_deny.so

account required /lib/security/pam_unix.so

account sufficient /lib/security/pam_ldap.so

password required /lib/security/pam_cracklib.so retry=3 type=

password sufficient /lib/security/pam_unix.so nullok use_authtok md5

shadowpassword sufficient /lib/security/pam_ldap.so use_authtok

password required /lib/security/pam_deny.so

session required /lib/security/pam_limits.so

session required /lib/security/pam_unix.so

session optional /lib/security/pam_ldap.so

La configuration par défaut de la MandrakeLinux 9.2 (fivestar) fait pointerles différents services sur ce fichier :

cat /etc/pam.d/sshd

#%PAM-1.0

auth required /lib/security/pam_stack.so service=system-auth

auth required /lib/security/pam_nologin.so

account required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

session required /lib/security/pam_stack.so service=system-auth

session required /lib/security/pam_limits.so

session optional /lib/security/pam_console.so

cat /etc/pam.d/login

#%PAM-1.0

auth required /lib/security/pam_securetty.so

auth required /lib/security/pam_stack.so service=system-auth

auth required /lib/security/pam_nologin.so

account required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

session required /lib/security/pam_stack.so service=system-auth

session optional /lib/security/pam_console.so

cat /etc/pam.d/su

#%PAM-1.0

auth sufficient /lib/security/pam_rootok.so

# Uncomment the following line to implicitly trust users in the "wheel"

group.

#auth sufficient /lib/security/pam_wheel.so trust use_uid

# Uncomment the following line to require a user to be in the "wheel" group.

#auth required /lib/security/pam_wheel.so use_uid

Page 22 / 97

Page 23: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 23/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

auth required /lib/security/pam_stack.so service=system-auth

account required /lib/security/pam_stack.so service=system-authpassword required /lib/security/pam_stack.so service=system-auth

session required /lib/security/pam_stack.so service=system-auth

session optional /lib/security/pam_xauth.so

Il reste à modifier le fichier /etc/nsswitch.conf pour lui indiquer aussid'interroger LDAP :

$ cat /etc/nsswitch.conf ...passwd: files ldap

shadow: files ldapgroup: files ldap...

Certaines versions de PAM prennent directement en compte lesmodifications sur ces fichiers. La version de PAM pour la MandrakeLinux 9.2(fivestar) nécessite un redémarrage du serveur à cette fin.

Une fois le serveur redémarré, l'utilisateur défini dans LDAP doit pouvoirêtre utilisé afin de se connecter. Son répertoire personnel n'étant pas encorecréé, il faudra le créer et l'associer à l'utilisateur avant de tenter de se

connecter.

$ ldapsearch -x uid=user

version: 2

#

# filter: uid=user

# requesting: ALL

#

# user, Users, edge-it, fr

dn: uid=user,ou=Users,dc=edge-it,dc=fr

objectClass: topobjectClass: inetOrgPerson

objectClass: posixAccount

uid: user

uidNumber: 1001

gidNumber: 1001

cn: user

sn: user

gecos: Utilisateur de test

loginShell: /bin/bash

homeDirectory: /home/user

userPassword:: e2NyeXB0fSQxJGtTSnlsZlhxJG5GQlNUYVlIMHlyNHNzbGZ2emZlQy8=

# search result

Page 23 / 97

Page 24: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 24/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

search: 2

result: 0 Success

# numResponses: 2

# numEntries: 1

L'utilisateur user est toujours dans notre arbre LDAP. Le système doitmaintenant le percevoir comme utilisateur système potentiel.

$ id user

uid=1001(user) gid=1001(utilisateurs) groupes=1001(utilisateurs)

La commande id nous retourne bien les informations contenues dans l'arbreLDAP.Il faut maintenant créer le répertoire personnel de cet utilisateur et lui en

donner la propriété.

$ mkdir /home/user

$ chown user:utilisateurs /home/user

Une connexion ssh finira de valider la configuration de PAM et NSS :

$ ssh user@locahost

user@localhost's password:-bash-2.05b$ ls -al

total 16

drwxr-xr-x 2 user utilisateurs 4096 oct 27 14:30 ./

drwxr-xr-x 9 root root 4096 oct 27 14:25 ../

-rw------- 1 user utilisateurs 5 oct 27 14:27 .bash_history

-rw------- 1 user utilisateurs 53 oct 27 14:30 .Xauthority

-bash-2.05b$ exit

logout

Connection to localhost closed.

2.5 C UPS : 

Samba se base sur les imprimantes définies dans CUPS pour proposer leservice d'impression à ses clients. Il faut donc commencer par configurer ceservice.

2.5. A  CONFIGURATION GÉNÉRALE

La configuration se fait via une un navigateur internet et en saisissantl'URL http://<servername_or_serverip>:631

La configuration par défaut de cet outil d'administration n'autorise que les

Page 24 / 97

Page 25: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 25/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

connexions venant de la machine locale. Il faut donc commencer par donner la

possibilité d'y accéder par une autre machine.

$ vi /etc/cups/cupsd.conf

...

<Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

 Allow From YOUR_IP# par ex : Allow From 192.168.10.*

</Location>

...

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

 Allow From YOUR_IP# par ex : Allow From 192.168.10.*

</Location>

La configuration sera finalisée en spécifiant dans le fichier /

etc/cups/client.conf , le nom du serveur qu'on vient de définir.

$ cat /etc/cups/client.conf

...

ServerName 127.0.0.1

...

 A partir de là, l'outil d'administration est accessible pour le ou les postesdéfinis.

En se connectant à l'URL correspondante, le menu "printers" permetd'ajouter/modifier/supprimer une imprimante. Une fois une imprimantedéfinie, on peut imprimer une page de test pour valider la configuration.

2.5.B PRÉPARATIFS POUR S AMBA 

Ce paragraphe ne concerne l'installation que si les drivers d'impression sontservis par le contrôleur de domaine.

 Afin de préparer le terrain pour Samba, la procédure d'installation a ducréer le répertoire /usr/share/cups/drivers (en installant le package cups-

drivers et ses dépendances ainsi que les drivers Adobe) et y placer les fichierssuivants :

$ ls /usr/share/cups/drivers

Page 25 / 97

Page 26: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 26/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

ADFONTS.MFM ADOBEPS4.HLP ADOBEPSU.DLL

cupsdrvr.dll cupsui.dll ICONLIB.DLLADOBEPS4.DRV ADOBEPS5.DLL ADOBEPSU.HLP

cups.hlp DEFPRTR2.PPD PSMON.DLL

Les drivers CUPS fournissent les fichiers suivants :* cups.hlp

* cupsdrvr.dll

* cupsui.dll

Ces fichiers supportent les clients Windows NT/2000/XP, mais pas95/98/Me.

Les drivers Adobe fonctionnent pour les clients 95/98/Me comme pour lesclients NT/2000/XP.

95/98/Me :* ADFONTS.MFM

* ADOBEPS4.DRV

* ADOBEPS4.HLP

* DEFPRTR2.PPD

* ICONLIB.DLL

*PSMON.DLL

NT/2000/XP :* ADOBEPS5.DLL

* ADOBEPSU.DLL

* ADOBEPSU.HLP

Ces fichiers sont issus des "PostScript printer drivers for Windows"disponibles sur le site de la société Adobe7. On choisira une version des"Adobe Universal PostScript Windows Driver Installer", puis on l'installera surun poste Windows afin de récupérer les fichiers listés ci-dessus.

Si les deux types de drivers pour Windows NT/200x/XP sont présents, lesdrivers Adobe seront ignorés au profit des drivers CUPS.

2.5.C DÉFINITION D'UNE IMPRIMANTE

Pour ce document, il s'agit d'une HP LaserJet 4000, définie sous le nomhplaser4000-Bohrium.

7 http://www.adobe.com/support/downloads/product.jsp?product=44&platform=Windows

Page 26 / 97

Page 27: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 27/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

2.6 S  AMBA  : 

Samba va utiliser les services qui ont été mis en place jusqu'à présent.

2.6. A  H YPOTHÈSES DE TRAVAIL

On considère les options de configuration suivantes :* Le template de configuration est prévu pour installer un PDC.* Les répertoires des utilisateurs sont dans /home.* Les profiles sont dans /home/profiles (chmod 1757).

* Les fichiers netlogon sont dans /home/netlogon* Un partage public existe dans /home/public (chmod 1757)* Chaque groupe d'utilisateurs a un répertoire commun dans /

home/groupes

* Le domaine s'appelle EDGE-IT

* Le PDC s'appelle EDGE-PDC

* Le changement de mot de passe est assuré par un scriptexterne. Il effectue le changement du mot de passe Windows ETUnix.

* Le serveur LDAP est local

* On utilise des scripts de netlogon afin de monter des partagessupplémentaires, effectuer quelques opérations de maintenance surle client Windows et/ou le compte système Unix (directive root

preexec).

* L'administrateur du domaine s'appelle administrateur (uid1000) et appartient au groupe administrateurs (gid 1000).

2.6.B LE FICHIER DE CONFIGURATION S AMBA 

Ce fichier est divisé en deux sections principales :* [global] définit le rôle du service Samba (PDC, BDC, serveur

isolé, membre du domaine).* les autres blocs définissant les partages accessibles aux clients

Windows : les partages de fichiers, et les partages d'imprimantes.

$ cat /etc/samba3/smb.conf

[global]

Page 27 / 97

Page 28: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 28/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

##############################################

### ###### Caractéristiques Netbios de la machine ###

### ###

##############################################

# définition du nom du domaine à gérer

workgroup = EDGE-IT

# définition du nom Netbios de la machine

netbios name = EDGE-PDC

# commentaire concernant la machine

server string = Edge-IT PDC

########################

### ###

### Gestion des logs ###### ###

########################

# lieu de stockage

log file = /var/log/samba3/log.%m

# taille maximale du fichier de log

max log size = 5000

# niveau de log

log level = 1

#####################################

### ###

### définition du rôle du serveur ###

### ########################################

# PDC

security = user

# OS level > 32 pour être élu

os level = 80

# permet le déclenchement des élections

# définition d'un PDC

local master = yes

# domain master browser

domain master = yes

# force les élections pour devenir PDC

preferred master = yes

# le serveur fait de l'authentification

domain logons = yes

#################################

### ###

### gestion des mots de passe ###

### ###

#################################

# les échanges de mots de passe sont encryptés

encrypt passwords = yes

# on utilise un script externe...

pam password change = no

passwd program = /usr/share/samba3/scripts/smbldap-passwd.pl %u

# qui change aussi les mots de passe système

Page 28 / 97

Page 29: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 29/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

unix password sync = no

# dialogue entre Samba et le scriptpasswd chat = *New*password* %n\n *Retype*new*password* %n\n

*passwd:*all*authentication*tokens*updated*successfully*

# en phase de debug, on active cette ligne pour étudier le dialogue

;passwd chat debug = yes

# à n'utiliser que si on stocke quelques utilisateurs spécifiques hors

LDAP

;smb passwd file = /etc/samba3/smbpasswd

###########################################

### ###

### définition des bases d'utilisateurs ###

### ###

############################################ on peut définir plusieurs types de sources

;passdb backend = ldapsam, smbpasswd, guest

;passdb backend = ldapsam:ldap://myfirstldap.edge-it.fr,

ldapsam:ldap://mysecondldap.edge-it.fr, guest

passdb backend = ldapsam, guest

# définition des attributs ldap

ldap admin dn = cn=Manager,dc=edge-it,dc=fr

ldap ssl = No

ldap port = 389

ldap suffix = dc=edge-it,dc=fr

ldap machine suffix = ou=Computers

ldap user suffix = ou=Usersldap group suffix = ou=Groups

# le groupe des administrateurs du domaine

admin users = @administrateurs

##############

### ###

### DIVERS ###

### ###

##############

# le PDC est aussi serveur wins

wins support = yes

# si ce n'est pas le cas, on l'indique ici

;wins server = <ip>

# ordre de resolution des noms netbios

name resolve order = wins lmhosts bcast

# pas de résolution DNS sur les noms Netbios

dns proxy = no

# quelques options de performance réseau

# ces valeurs sont valables sur la majorité des configurations

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Utilisateur utilisé lorsque l'argument guest ok est a yes sur un partage

guest account = administrateur

Page 29 / 97

Page 30: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 30/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# création d'un nouvel utilisateur à-la-demande s'il n'existe pas déjà

dans la base.; add user script = /usr/share/samba3/scripts/smbldap-useradd.pl -a %u

# delete user script supprime l'utilisateur via les outils

d'administration NT

# en utilisant les outils d'administration NT, la création d'un groupe

estpossible

;add group script = /usr/share/samba3/scripts/smbldap-groupadd.pl %g

# delete group script fait l'opération inverse

# avec ces memes outils, on peut associer un utilisateur à un groupe

;add user to group script = /usr/share/samba3/scripts/smbldap-groupmod.pl

-m %u %g

# delete user from group script fait l'opération inverse

# script utilisé pour ajouter une machine On-The-Fly avec une

authentification comme administrateur du domaine

add machine script = /usr/share/samba3/scripts/smbldap-useradd.pl -w %u

##########################################

### ###

### Translation des jeux de caractères ###

### ###

##########################################

dos charset = 850

unix charset = ISO8859-15

###############################

### ###

### Gestion de l'impression ###

### ###

###############################

# on se sert des imprimantes définies dans CUPS

# on charge la liste

printcap name = cups

load printers = yes

# ajout des imprimantes autorisé pour le groupe administrateurs

printer admin = @administrateurs

###############################

### ###

### DEFINITION DES PARTAGES ###

### (fichiers) ###

### ###

###############################

# le partage des homedirectory tel qu'il est défini par défaut

# crée un partage du type \\SERVER\\%u

# utilisant le path /home/%u

[homes]

comment = Home Directories

browseable = no

Page 30 / 97

Page 31: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 31/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

writable = yes

# si on souhaite avoir un partage privé ayant un autre nom que homes

# on peut définir ce type d'entrée

;[prives]

;path = /home/Prives/%u

;comment = Répertoire Prive

;browseable = no

;writable = yes

;root preexec = /usr/local/sbin/mkhomedir %u %g

# partage des scripts de netlogon générés à la volée

# par le script /home/netlogon/logon_script

[netlogon]

comment = Network Logon Servicepath = /home/netlogon

guest ok = yes

writable = no

browseable = no

root preexec = /home/netlogon/logon_script '%m' '%U' '%a' '%g' '%L'

# definition du partage des profiles utilisateur

[profiles]

path = /home/profiles

browseable = no

guest ok = yes

profile acls = yes

writeable = yes

# un partage supplémentaire qui sera monte

# suivant le groupe de l'utilisateur qui se connecte

# dynamique grâce au script de netlogon généré à la volée

;[groupes]

;comment = Stockage Groupes

;path = /home/Groupes

;public = yes

;writable = yes

;hide unreadable = yes

###############################

### ###

### DEFINITION DES PARTAGES ###

### (imprimantes) ###

### ###

###############################

#Comme les packages utilisés sont compilés avec la libcups, la directive

'print command' est ignorée.

# partage des imprimantes déclarées

[printers]

comment = All Printers

path = /var/spool/samba3

browseable = no

Page 31 / 97

Page 32: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 32/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# to allow user 'guest account' to print.

guest ok = yeswritable = no

printable = yes

create mode = 0700

# partage de distribution des drivers d'impression

[print$]

path = /var/lib/samba3/printers

browseable = yes

read only = yes

write list = @administrateurs

guest ok = yes

 Voici maintenant le script qui génère le Netlogon à la volée.

$ cat /home/netlogon/logon_script

#!/bin/sh

#

# Generate logon script for windows (or dos)

# Original Author: Francois-Xavier Le Bail mailto:[email protected]

#

#-- PARAMETRES --

# %m (machine netbios name) %U (user) %a (architecture) %g (group) %L

(server)

# $1 $2 $3 $4 $5

## <-- START -->

#-- VARIABLES

SAMBA_DIR=/var/log/samba3

SUFFIX=cmd

CLIENT_MACHINE="$1"

USER="$2"

# SYSTEM_TYPE (architecture) : WinXP, Win2K, WinNT, Win95, WfWg, Samba

SYSTEM_TYPE="$3"

GROUP="$4"

SERVER_NAME="$5"

SCRIPT="/home/netlogon/$USER.$SUFFIX"

SERVER_TIME="\\\\EDGE-PDC"SERVER_NAS="\\\\EDGE-PDC"

#-- FONCTIONS

# end of line in windows/dos world : CR+NL

# echo -n "WINDOWS_COMMAND"; echo -e '\r'

# do the trick.

# use "write" to write in the logon script

write () { echo -n "$@"; echo -e '\r'; }

# upper to lower function (user name, ...)

u2l () { echo "$@" | tr '[A-Z]' '[a-z]'; }

#-- ERRORS LOG --

# for the new files

Page 32 / 97

Page 33: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 33/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

umask 022

# if you need the errors messages#exec 2>>"$SAMBA_DIR/logon_script.err"

# if you prefer the errors messages by machine name, comment the preceding

line

# and uncomment :

exec 2>>"$SAMBA_DIR/logon_script.$USER.err"

# if you need SHELL DEBUG, in the errors messages file, uncomment :

#set -x

#-- HEADER --

# this redirection mean all the standard output go in the logon script

exec 1>"$SCRIPT"

# to hidden the script, (need "map hidden = yes", see in "man smb.conf")

chmod o+x "$SCRIPT"

#-- BODY --

write "@ECHO off"

write "ECHO."

write "ECHO Type : $SYSTEM_TYPE."

write "ECHO."

write "ECHO Ordinateur : $CLIENT_MACHINE - Utilisateur : $USER - Groupe :

$GROUP. - Serveur: $SERVER_NAME"

write "ECHO."

# set the workstation time at the server time

write "NET TIME $SERVER_TIME /set /yes"

# perhaps you need non persistent connexion

write "NET USE /persistent:no"

case "$SYSTEM_TYPE" in

WinNT)

# mount the home share

write "NET USE U: $SERVER_NAS\\homes /yes"

esac

write "NET USE m: $SERVER_NAS\\groupes /yes"

#write "NET USE t: $SERVER_NAS\\public /yes"

#if [ "$GROUP" = administrateurs ]; then

# write "NET USE z: $SERVER_NAS\\admins /yes"

#fi

#if [ "$USER" = administrateur ]; then

# write "NET USE z: $SERVER_NAS\\admins /yes"

#fi

# if you need a pause

#write "PAUSE"

Page 33 / 97

Page 34: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 34/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

2.6.C CRÉ ATION DE L'UTILISATEUR  ADMINISTRATEUR

Puisque nous avons défini un groupe d'administrateurs dans Samba, il estnécessaire que ce groupe existe sur le système et qu'il contienne au moins unutilisateur.

Pour cela, il faut récupérer le SID propre au serveur que nous venonsd'installer.

 Après avoir vérifié la configuration, nous créerons un utilisateur et songroupe définis sur cette base :

$ cat /root/administrateur.ldif

dn: uid=administrateur,ou=Users,dc=edge-it,dc=fr

objectclass: top

objectClass: inetOrgPerson

#Définition des attributs Posix

objectClass: posixAccount

uid: administrateur

cn: Administrateur du Domaine

sn: administrateur

gecos: Administrateur Domaine Windows

uidNumber: 1000

gidNumber: 1000

homeDirectory: /home/administrateur

loginShell: /bin/bashuserPassword:: e2NyeXB0fSQxJFBsYS9MVlE1JENVNFBZcklzWlIxQ1JhRzYvcFFENjA=

#Définition des attributs LDAP

objectClass: sambaSAMAccount

sambaAcctFlags: [UX]

sambaSID: {SID}-3000

sambaPrimaryGroupSID: {SID}-3001

displayName: Administrateur du Domaine

sambaProfilePath: \\EDGE-PDC\profiles\administrateur

sambaLogonScript: administrateur.bat

sambaHomePath: \\EDGE-PDC\homes

sambaHomeDrive: H:

sambaLogonTime: 0

sambaKickoffTime: 2147483647sambaLogoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

sambaPwdLastSet: 1065097447

sambaNTPassword: 146468B0272B27D6D995BF6F4CE07470

sambaLMPassword: 6A98EB0FB88A449C6C98100B1FB8AC32

dn: cn=administrateurs,ou=Groups,dc=edge-it,dc=fr

gidNumber: 1000

sambaSID: {SID}-512

memberUid: administrateur

sambaGroupType: 2

displayName: Admin Users

Page 34 / 97

Page 35: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 35/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

objectClass: posixGroup

objectClass: sambaGroupMappingdescription: Groupes des Admins Windows

cn: administrateurs

{SID} devra être remplacé par celui de la machine (voir le paragrapheFIXME).

Page 35 / 97

Page 36: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 36/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

3 A SSOCIATION DES SERVICES ET TEST DE S AMBA :

 Après avoir configuré les différents services séparément, il est temps de lesassocier sous la coupe de Samba et de vérifier leur bon fonctionnement.

3.1 V É RIFICATION  DE  LA  CONFIGURATION  S  AMBA   AVEC  TESTPARM 

testparm est l'outil qui permet de connaître le rôle reconnu à la machinedans un réseau Microsoft Windows. Il souligne aussi les options nonreconnues, et détaille la configuration du service.

$ testparm

Load smb config files from /etc/samba3/smb.conf

Processing section "[homes]"

Processing section "[netlogon]"

Processing section "[profiles]"

Processing section "[printers]"

Processing section "[print$]"

Loaded services file OK.

Server role: ROLE_DOMAIN_PDCPress enter to see a dump of your service definitions

# Global parameters

[global]

dos charset = 850

unix charset = ISO8859-15

workgroup = EDGE-IT

netbios name = EDGE-PDC

server string = Edge-IT PDC

passdb backend = ldapsam, guest

guest account = administrateur

passwd program = /usr/share/samba3/scripts/smbldap-passwd.pl %u

passwd chat = *New*password* %n\n *Retype*new*password* %n\n

*passwd:*all*authentication*tokens*updated*successfully*

log level = 1

log file = /var/log/samba3/log.%m

name resolve order = wins lmhosts bcast

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

printcap name = cups

add machine script = /usr/share/samba3/scripts/smbldap-useradd.pl -w

%u

domain logons = Yes

os level = 80

preferred master = Yes

domain master = Yes

dns proxy = No

Page 36 / 97

Page 37: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 37/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

wins support = Yes

ldap port = 389ldap suffix = dc=edge-it,dc=fr

ldap machine suffix = ou=Computers,dc=edge-it,dc=fr

ldap user suffix = ou=Users,dc=edge-it,dc=fr

ldap group suffix = ou=Groups,dc=edge-it,dc=fr

ldap idmap suffix = dc=edge-it,dc=fr

ldap admin dn = cn=Manager,dc=edge-it,dc=fr

ldap ssl = no

admin users = @administrateurs

printer admin = @administrateurs

[homes]

comment = Home Directories

read only = Nobrowseable = No

[netlogon]

comment = Network Logon Service

path = /home/netlogon

guest ok = Yes

browseable = No

root preexec = /home/netlogon/logon_script '%m' '%U' '%a' '%g' '%L'

[profiles]

path = /home/profiles

read only = No

guest ok = Yesprofile acls = Yes

browseable = No

[printers]

comment = All Printers

path = /var/spool/samba3

create mask = 0700

guest ok = Yes

printable = Yes

browseable = No

[print$]

path = /var/lib/samba3/printers

write list = @administrateurs

guest ok = Yes

On retrouve ici ce que nous avons défini dans le fichier /etc/samba3/smb.conf .S'il n'y a pas/plus d'erreur, le service sera démarré :

$ service smb3 start

Lancement du service SaMBa : [ OK ]

Lancement du service NMB : [ OK ]

Page 37 / 97

Page 38: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 38/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

3.2 SID ET  CR É  ATION  DE  L ' UTILISATEUR   ADMINISTRATEUR  

Maintenant que le service démarre, il faut utiliser le SID du PDC afind'identifier les utilisateurs du domaine, et en tout premier lieu,l'administrateur

$ net3 getlocalsid

SID for domain EDGE-PDC is: S-1-5-21-1742119943-1715997226-1710541444

$ cat /root/administrateur.ldif

dn: uid=administrateur,ou=Users,dc=edge-it,dc=fr

objectclass: top

objectClass: inetOrgPerson

#Définition des attributs Posix

objectClass: posixAccount

uid: administrateur

cn: Administrateur du Domaine

sn: administrateur

gecos: Administrateur Domaine Windows

uidNumber: 1000

gidNumber: 1000

homeDirectory: /home/administrateur

loginShell: /bin/bash

userPassword:: e2NyeXB0fSQxJFBsYS9MVlE1JENVNFBZcklzWlIxQ1JhRzYvcFFENjA=#Définition des attributs LDAP

objectClass: sambaSAMAccount

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-1710541444-3000

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-1710541444-3001

displayName: Administrateur du Domaine

sambaProfilePath: \\EDGE-PDC\profiles\administrateur

sambaLogonScript: administrateur.bat

sambaHomePath: \\EDGE-PDC\homes

sambaHomeDrive: H:

sambaLogonTime: 0

sambaKickoffTime: 2147483647

sambaLogoffTime: 2147483647sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

sambaPwdLastSet: 1065097447

sambaNTPassword: 146468B0272B27D6D995BF6F4CE07470

sambaLMPassword: 6A98EB0FB88A449C6C98100B1FB8AC32

dn: cn=administrateurs,ou=Groups,dc=edge-it,dc=fr

gidNumber: 1000

sambaSID: S-1-5-21-1742119943-1715997226-1710541444-512

memberUid: administrateur

sambaGroupType: 2

displayName: Admin Users

objectClass: posixGroupobjectClass: sambaGroupMapping

Page 38 / 97

Page 39: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 39/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

description: Groupes des Admins Windows

cn: administrateurs

$ ldapadd -x -D "cn=Manager,dc=edge-it,dc=fr" -w secret -f /

root/administrateur.ldif

3.3 R Ô LE  DU  S ERVEUR 

Le serveur doit maintenant être capable de se situer dans le domaine. Ici, ils'agit d'un PDC, il doit donc passer maître sur le domaine correspondant.

testparm indique déjà le rôle que devrait tenir le serveur dans le domaine(voir le chapitre FIXME) :

$ testparm3

Load smb config files from /etc/samba3/smb.conf

Processing section "[homes]"

Processing section "[netlogon]"

Processing section "[profiles]"

Processing section "[printers]"

Processing section "[print$]"

Loaded services file OK.

Server role: ROLE_DOMAIN_PDCPress enter to see a dump of your service definitions

...

La commande suivante le confirme :

$ smbclient3 -L EDGE-PDC

Password:

 Anonymous login successful

Sharename Type Comment

--------- ---- -------

print$ Disk

IPC$ IPC IPC Service (Edge-IT PDC)

ADMIN$ IPC IPC Service (Edge-IT PDC)

hplaser4000-B Printer HP LaserJet 4000 Series PS

 Anonymous login successful

Server Comment

--------- -------

EDGE-PDC Edge-IT PDC

Workgroup Master

--------- -------

EDGE-IT EDGE-PDC

En tapant <entrée> lorsque la commande demande un mot de passe (mode

Page 39 / 97

Page 40: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 40/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

« anonyme »), on obtient une liste des partages publics du serveur, ainsi que

son rôle sur le domaine.

3.4 S  AMBA  LDAP : A  UTHENTIFICATION 

Si Samba sait comment s'adresser à l'annuaire LDAP, il n'a pas encore lemot de passe qui lui permettra de s'authentifier. Il faut spécifier le mot depasse qui correspond au ldap admin dn renseigné dans /etc/samba3/smb.conf.

$ smbpasswd3 -w secret

Setting stored password for "cn=Manager,dc=edge-it,dc=fr" in secrets.tdb

3.5 C ONNEXION   AUX  SERVICES ( PARTIE  FICHIERS ) 

Notre utilisateur administrateur, avant de nous servir en tantqu'administrateur du domaine, est avant tout un utilisateur du domaine. Nouspouvons donc l'utiliser pour vérifier que le PDC est opérationnel, et que lespartages définis sont accessibles.

Cette première commande montre les partages disponibles pour l'utilisateuradministrateur. En plus des partages publics, la liste fait apparaître son homedirectory.

$ smbclient3 -L EDGE-PDC -U administrateur

Password:

Sharename Type Comment

--------- ---- -------

print$ Disk

IPC$ IPC IPC Service (Edge-IT PDC)

ADMIN$ IPC IPC Service (Edge-IT PDC)hplaser4000-B Printer HP LaserJet 4000 Series PS

administrateu Disk Home Directories

Server Comment

--------- -------

EDGE-PDC Edge-IT PDC

Workgroup Master

--------- -------

EDGE-IT EDGE-PDC

La commande suivante permet d'accéder au répertoire privé de

Page 40 / 97

Page 41: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 41/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

l'administrateur

$ smbclient3 //EDGE-PDC/homes -U administrateur

Password:

smb: \> dir

. D 0 Mon Oct 27 16:14:10 2003

.. D 0 Mon Oct 27 15:56:20 2003

.bash_history H 5 Mon Oct 27 16:14:10 2003

.Xauthority H 53 Mon Oct 27 16:13:57 2003

37492 blocks of size 524288. 35893 blocks available

smb: \> quit

Si ces deux commandes fonctionnent parfaitement, la liaison Samba/ldapest confirmée car l'utilisateur a pu s'authentifier, et trouver les informationspour accéder au répertoire approprié.

3.6 C R É  ATION  DES  IMPRIMANTES  SOUS S  AMBA 

 Avant toute vérification, il est important de noter qu'il existe un bug connupouvant perturber la liaison entre CUPS et Samba. Celui-ci empêche Sambade rafraîchir correctement la liste des imprimantes disponibles sous CUPS,

liste qui permet de les servir lorsque les drivers auront été associés. Si aprèsavoir ajouté une imprimante dans CUPS, lors de cette associationdriver/imprimante, un message d'erreur à la commande setdriver retourne lemessage NT_STATUS_UNSUCCESSFUL , il faut redémarrer Samba.

L'ajout d'une imprimante peut se faire étape par étape (ajout du driver dansla liste des drivers utilisables, association d'un driver à une imprimante), oupar une commande unique disponible dans le package CUPS.

Les drivers CUPS sont stockés dans /usr/share/cups/drivers .

$ ll /usr/share/cups

total 28

drwxr-xr-x 2 root root 4096 oct 27 13:52 banners/

drwxr-xr-x 2 root root 4096 oct 27 13:52 charsets/

drwxr-xr-x 2 root root 4096 oct 27 13:52 data/

drwx------ 2 root root 4096 oct 27 14:35 drivers/drwxr-xr-x 2 root root 4096 oct 27 13:52 fonts/

drwxr-xr-x 26 root root 4096 oct 27 13:52 model/

drwxr-xr-x 4 root root 4096 oct 27 13:52 templates/

La commande qui réalise automatiquement l'enregistrement des

imprimantes stocke les drivers dans /var/lib/samba3/printers .

Page 41 / 97

Page 42: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 42/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ ll /var/lib/samba3

total 16drwxr-xr-x 2 root root 4096 oct 28 09:24 codepages/

drwxrwxr-x 2 root root 4096 oct 28 09:24 netlogon/

drwxr-xr-x 4 root root 4096 oct 28 09:29 printers/drwxr-xr-x 2 root root 4096 oct 28 09:24 profiles/

Il ne faut pas oublier de relancer Samba3 si desajouts/modifications/suppressions ont été faits dans CUPS depuis le dernierdémarrage de Samba3.

$ service smb3 restart

Arrêt des services SaMBa : [ OK ]

Arrêt du service NMB : [ OK ]

Lancement du service SaMBa : [ OK ]

Lancement du service NMB : [ OK ]

  A ce moment là, la commande smbclient montre la ou les imprimantespubliques définies :

$ smbclient3 -L EDGE-PDC

Password:

Anonymous login successful

Sharename Type Comment--------- ---- -------

print$ Disk

IPC$ IPC IPC Service (Edge-IT PDC)

ADMIN$ IPC IPC Service (Edge-IT PDC)

hplaser4000-B Printer HP LaserJet 4000 Series PSAnonymous login successful

Server Comment

--------- -------

EDGE-PDC Edge-IT PDC

Workgroup Master

--------- -------EDGE-IT EDGE-PDC

L'imprimante est donc listée dans les ressources Samba, mais aucun drivern'est encore associé.

$ rpcclient -d=0 -U administrateur -c 'enumprinters' localhost

Password:

flags:[0x800000]

name:[\\edge-pdc\hplaser4000-Bohrium]

description:[\\edge-pdc\hplaser4000-Bohrium,,HP LaserJet 4000 Series

PS]

comment:[HP LaserJet 4000 Series PS]

Page 42 / 97

Page 43: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 43/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ rpcclient -U administrateur -c 'enumdrivers' localhostPassword:

 A supposer que lors de l'installation de CUPS, toutes les imprimantes aienttoutes été correctement configurées (page de test concluante), la commandesuivante effectuera le lien avec Samba :

$ cupsaddsmb -U administrateur -v -a

Running command: smbclient //127.0.0.1/print\$ -N -U'administrateur%

administrateur' -c 'mkdir W32X86;put /var/spool/cups/tmp/3f9e3d1bd4b87

W32X86/hplaser4000-Bohrium.ppd;put /usr/share/cups/

drivers/cupsdrvr.dll W32X86/cupsdrvr.dll;put /

usr/share/cups/drivers/cupsui.dll W32X86/cupsui.dll;put /

usr/share/cups/drivers/cups.hlp W32X86/cups.hlp'

Running command: rpcclient 127.0.0.1 -N -U'administrateur%administrateur' -c

'adddriver "Windows NT x86" "hplaser4000-Bohrium:cupsdrvr.dll:hplaser4000-

Bohrium.ppd:cupsui.dll:cups.hlp:NULL:RA

W:NULL"'

Running command: smbclient //127.0.0.1/print\$ -N -U'administrateur%

administrateur' -c 'mkdir WIN40;put /var/spool/cups/tmp/3f9e3d1bd4b87

WIN40/hplaser4000-Bohrium.PPD;put /usr/share/cups/dr

ivers/ADFONTS.MFM WIN40/ADFONTS.MFM;put /usr/share/cups/drivers/ADOBEPS4.DRV

WIN40/ADOBEPS4.DRV;put /usr/share/cups/drivers/ADOBEPS4.HLP

WIN40/ADOBEPS4.HLP;put /usr/share/cups/drivers/DEFPRT

R2.PPD WIN40/DEFPRTR2.PPD;put /usr/share/cups/drivers/ICONLIB.DLL

WIN40/ICONLIB.DLL;put /usr/share/cups/drivers/PSMON.DLL WIN40/PSMON.DLL;'

Running command: rpcclient 127.0.0.1 -N -U'administrateur%administrateur' -c

'adddriver "Windows 4.0" "hplaser4000-Bohrium:ADOBEPS4.DRV:hplaser4000-

Bohrium.PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RA

W:ADOBEPS4.DRV,hplaser4000-

Bohrium.PPD,ADOBEPS4.HLP,PSMON.DLL,ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"'

Running command: rpcclient 127.0.0.1 -N -U'administrateur%administrateur' -c

'setdriver hplaser4000-Bohrium hplaser4000-Bohrium'

Il faut que l'utilisateur ajoutant les imprimantes appartienne à la listedéfinie par la directive printer admin (ici administrateur).

La vérification se fera à l'aide des commandes suivantes :

$ rpcclient -U administrateur -c 'enumprinters' localhost

Password:

flags:[0x800000]

name:[\\edge-pdc\hplaser4000-Bohrium]

description:[\\edge-pdc\hplaser4000-Bohrium,hplaser4000-Bohrium,HP

LaserJet 4000 Series PS]

comment:[HP LaserJet 4000 Series PS]

Page 43 / 97

Page 44: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 44/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ rpcclient -U administrateur -c 'enumdrivers' localhostPassword:

[Windows 4.0]

Printer Driver Info 1:

Driver Name: [hplaser4000-Bohrium]

[Windows NT x86]

Printer Driver Info 1:

Driver Name: [hplaser4000-Bohrium]

[Windows NT x86]

Printer Driver Info 1:

Driver Name: [hplaser4000-Bohrium]

$ smbclient //EDGE-PDC/printers -U administrateur

Password:

smb: \> dir

NT_STATUS_NO_SUCH_FILE listing \*

47189 blocks of size 131072. 30656 blocks available

smb: \> exit

La commande dir n'a rien retourné car il ne s'agit pas d'un partage de

fichiers. Néanmoins, le partage est fonctionnel.

3.7 L ES  R É PERTOIRES   À  CR É ER  ET  LEURS  DROITS 

$ ll /home

...

drwxr-xr-x 2 root root 4096 oct 29 13:20 netlogon/

drwxr-xrwt 3 root root 4096 oct 29 13:30 profiles/

Un répertoire public peut aussi être mis en place :

drwxr-xrwt 3 root root 4096 oct 29 13:30 public/

Page 44 / 97

Page 45: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 45/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

4 OUTILS OPTIONNELS

Si le service a l'air opérationnel, la création d'utilisateurs ou de machines àpartir de fichiers LDIF est périlleuse : il y a un risque d'oublier des attributsessentiels au bon fonctionnement de l'application.

Pour cela, les smbldap-tools ont été packagés avec Samba. Il s'agit d'unensemble de commandes qui permettent d'ajouter/modifier/supprimer desutilisateurs, des machines ou des groupes dans l'annuaire LDAP, avec ou sansles attributs Samba nécessaires.

4.1 L ES  PR É REQUIS 

Pour fonctionner, ces outils nécessitent le langage Perl, ainsi que le moduleNet::LDAP, nécessitant lui aussi quelques autres modules :

• perl-ldap

• perl-Authen-SASL (dépendance du package perl-ldap mandrake)• perl-XML-Parser (dépendance du package perl-ldap mandrake)• perl-URI (dépendance du package drakfirsttime mandrake)• perl-Convert-ASN1 (dépendance des outils smbldap-tools)

4.2 L ISTE  DES  OUTILS  DISPONIBLES 

$ ll /usr/share/samba3/scripts/

total 120

-rwxr-xr-x 1 root root 5592 sep 26 02:42 convertSambaAccount

-rwxr-xr-x 1 root root 3555 sep 26 02:42 print-pdf

-rwxr-x--- 1 root adm 2452 sep 26 02:42 smbldap-groupadd.pl

-rwxr-x--- 1 root adm 2329 sep 26 02:42 smbldap-groupdel.pl

-rwxr-x--- 1 root adm 6039 sep 26 02:42 smbldap-groupmod.pl

-rwxr-x--- 1 root adm 1883 sep 26 02:42 smbldap-groupshow.pl

-rwxr-x--- 1 root adm 7257 sep 26 02:42 smbldap-migrate-

accounts.pl

-rwxr-x--- 1 root adm 4936 sep 26 02:42 smbldap-migrate-

groups.pl

-rwxr-x--- 1 root adm 5438 sep 26 02:42 smbldap-passwd.pl

-rwxr-x--- 1 root adm 8089 sep 26 02:42 smbldap-populate.pl

-rw-r--r-- 1 root root 17591 sep 26 02:42 smbldap_tools.pm

-rwxr-x--- 1 root adm 15006 sep 26 02:42 smbldap-useradd.pl

-rwxr-x--- 1 root adm 2973 sep 26 02:42 smbldap-userdel.pl

-rwxr-x--- 1 root adm 12186 sep 26 02:42 smbldap-usermod.pl

-rwxr-x--- 1 root adm 1825 sep 26 02:42 smbldap-usershow.pl

Page 45 / 97

Page 46: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 46/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Le fichier /etc/samba3/smb.conf tel qu'il est actuellement configuré fait appel

à certains de ces scripts.

4.3 C ONFIGURATION 

Pour que tous ces outils s'adaptent à la configuration Samba et LDAP, il fautconfigurer le fichier /etc/samba3/smbldap_conf.pm :

$ cat /etc/samba3/smbldap_conf.pm

# uid et gid minimum pour les utilisateurs$UID_START = 1000;

$GID_START = 1000;

# le SID déterminé par net getlocalsid

our $SID='S-1-5-21-1742119943-1715997226-1710541444';

# dans le cas présent, un seul serveur LDAP local

$slaveLDAP = "127.0.0.1";

$slavePort = "389";

$masterLDAP = "127.0.0.1";

$masterPort = "389";

$ldapSSL = "0";

# la base de recherche

$suffix = "dc=edge-it,dc=fr";

# l'OU des utilisateurs

$usersou = q(Users);

$usersdn = "ou=$usersou,$suffix";

# l'OU des machines

$computersou = q(Computers);

$computersdn = "ou=$computersou,$suffix";

# l'OU des groupes$groupsou = q(Groups);

$groupsdn = "ou=$groupsou,$suffix";

$scope = "sub";

# les mots de passe sont en MD5

$hash_encrypt="MD5";

# le manager et son mot de passe

$binddn = "cn=Manager,dc=edge-it,dc=fr";

$bindpasswd = "<passwd>";

# les attributs par defaut de nos utilisateurs

Page 46 / 97

Page 47: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 47/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# le shell

$_userLoginShell = q(/bin/false);# la racine des repertoires prives

$_userHomePrefix = q(/home);

$_userGecos = q(System User);

$_defaultUserGid = 100;

$_defaultComputerGid = 553;

$_skeletonDir = q(/etc/skel);

# le nom du partage des repertoires privés

$_userSmbHome = q(\\\\EDGE-PDC\\homes);

# le nom du partage pour les profiles

$_userProfile = q(\\\\EDGE-PDC\\profiles\\);

# la lettre de lecteur associe au repertoire prive

$_userHomeDrive = q(U:);

La commande suivante permet de voir si l'utilisateur administrateur estretrouvé par ces outils :

$ /usr/share/samba3/scripts/smbldap-usershow.pl administrateur

dn: uid=administrateur,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

uid: administrateur

cn: Administrateur du Domaine

sn: administrateur

gecos: Administrateur Domaine Windows

uidNumber: 1000

gidNumber: 1000

homeDirectory: /home/administrateur

loginShell: /bin/bash

userPassword: {crypt}$1$PWScfktF$FTRTRjlnCabxZt/EpA5U11

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-1710541444-3000

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-1710541444-3001

displayName: Administrateur du Domaine

sambaProfilePath: \\EDGE-PDC\profiles\administrateur

sambaLogonScript: administrateur.bat

sambaHomePath: \\EDGE-PDC\homes

sambaHomeDrive: H:

sambaLogonTime: 0

sambaKickoffTime: 2147483647

sambaLogoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

sambaPwdLastSet: 1065097447

sambaLMPassword: 6A98EB0FB88A449C6C98100B1FB8AC32

sambaNTPassword: 146468B0272B27D6D995BF6F4CE07470

Les outils savent donc discuter avec l'annuaire LDAP pour la consultationd'informations. Comme le Manager est configuré avec son mot de passe dans lefichier de configuration des outils, il est logique de voir les champs de mot de

passe (userPassword, et éventuellement sambaLMPassword et sambaNTPassword) malgréles éventuelles ACLs définies dans /etc/openldap/slapd.conf .

Page 47 / 97

Page 48: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 48/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

4.4 M  ANIPULATION 

L'ajout et la modification d'un groupe, puis d'un utilisateur dans ce groupeconfirmeront que la configuration est correcte.

 Voici la commande pour créer un groupe usersgp :

$ /usr/share/samba3/scripts/smbldap-groupadd.pl usersgp

$ /usr/share/samba3/scripts/smbldap-groupshow.pl usersgpdn: cn=usersgp,ou=Groups,dc=edge-it,dc=subnet

objectClass: posixGroup

cn: usersgp

gidNumber: 1002

Le gidNumber à 1002 est normal, car le groupe administrateurs est à 1000, etle groupe utilisateurs est à 1001.

L'utilisateur test sera associé à ce groupe usersgp :

$ /usr/share/samba3/scripts/smbldap-useradd.pl -g usersgp -a test

$ /usr/share/samba3/scripts/smbldap-passwd.pl test

Changing password for test

New password :

Retype new password :

$ /usr/share/samba3/scripts/smbldap-usershow.pl test

dn: uid=test,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: test

sn: test

uid: test

uidNumber: 1002gidNumber: 1002

homeDirectory: /home/test

loginShell: /bin/false

gecos: System User

description: System User

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-17105414-3004

Page 48 / 97

Page 49: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 49/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:sambaHomePath: \\EDGE-PDC\homes

sambaProfilePath: \\EDGE-PDC\profiles\test

sambaLogonScript: test.cmd

sambaLMPassword: 01FC5A6BE7BC6929AAD3B435B51404EE

sambaNTPassword: 0CB6948805F797BF2A82807973B89537

sambaPwdLastSet: 1067338535

userPassword: {MD5}CY9rzUYh03PK3k6DJie09g==

$ /usr/share/samba3/scripts/smbldap-groupshow.pl usersgp

dn: cn=usersgp,ou=Groups,dc=edge-it,dc=subnet

objectClass: posixGroup

cn: usersgp

gidNumber: 1002 memberUid: test

On retrouve l'utilisateur test dans le groupe auquel il a été associé.

Cet utilisateur n'a pas de shell, il ne peut donc pas se connecter en ssh surla machine, par exemple. Il suffit de modifier cette valeur pour valider quenotre utilisateur fonctionne sur le système :

$ /usr/share/samba3/scripts/smbldap-usermod.pl -s /bin/bash -a test

$ /usr/share/samba3/scripts/smbldap-usershow.pl testdn: uid=test,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: test

sn: test

uid: test

uidNumber: 1002

gidNumber: 1002

homeDirectory: /home//test

gecos: System User

description: System User

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-17105414-3004

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:

sambaHomePath: \\EDGE-PDC\homes

sambaProfilePath: \\EDGE-PDC\profiles\test

sambaLogonScript: test.cmd

sambaLMPassword: 01FC5A6BE7BC6929AAD3B435B51404EE

sambaNTPassword: 0CB6948805F797BF2A82807973B89537

sambaPwdLastSet: 1067338535

Page 49 / 97

Page 50: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 50/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

userPassword: {MD5}CY9rzUYh03PK3k6DJie09g==

loginShell: /bin/bash

$ ssh test@localhost

test@localhost's password:

Could not chdir to home directory /home//test: No such file or directory

/usr/X11R6/bin/xauth: error in locking authority file /

home//test/.Xauthority

-bash-2.05b$ exit

logout

Connection to localhost closed.

L'erreur concernant l'accès au répertoire personnel de l'utilisateur est

normale, puisque nous ne l'avons pas créé, ni par la commande de création del'utilisateur lui-même, ni manuellement. Néanmoins, l'utilisateur est reconnupar le système, et peut s'authentifier, bénéficier d'un shell...

Pour valider le fonctionnement sous Samba, il faut que son répertoirepersonnel existe :

$ smbclient //EDGE-PDC/homes -U test

Password:

tree connect failed: NT_STATUS_BAD_NETWORK_NAME

$ mkdir -m 750 /home/test

$ chown test:usersgp /home/test

$ ls -al /home/test

total 8

drwxr-x--- 2 test usersgp 4096 oct 28 11:08 ./

drwxr-xr-x 13 root root 4096 oct 28 11:08 ../

$ smbclient //EDGE-PDC/homes -U test

Password:

smb: \> dir

. D 0 Tue Oct 28 11:08:12 2003

.. D 0 Tue Oct 28 11:08:12 2003

37492 blocks of size 524288. 35893 blocks available

smb: \> quit

4.5 D É TAILS  DES  COMMANDES  DISPONIBLES 

4.5. A  LES UTILISATEURS

  Voir les informations d'un utilisateur : /usr/share/samba3/scripts/smbldap-

usershow.pl

Page 50 / 97

Page 51: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 51/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ /usr/share/samba3/scripts/smbldap-usershow.pl

Usage: /usr/share/samba3/scripts/smbldap-usershow.pl [-?] username-? show this help message

$ /usr/share/samba3/scripts/smbldap-usershow.pl test

dn: uid=test,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: test

sn: test

uid: test

uidNumber: 1002

gidNumber: 1002

homeDirectory: /home/test

gecos: System User

description: System UsersambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-17105414-3004

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:

sambaHomePath: \\EDGE-PDC\homes

sambaProfilePath: \\EDGE-PDC\profiles\test

sambaLogonScript: test.cmdsambaLMPassword: 01FC5A6BE7BC6929AAD3B435B51404EE

sambaNTPassword: 0CB6948805F797BF2A82807973B89537

sambaPwdLastSet: 1067338535

userPassword: {MD5}CY9rzUYh03PK3k6DJie09g==

loginShell: /bin/bash

Page 51 / 97

Page 52: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 52/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Création d'un utilisateur : /usr/share/samba3/scripts/smbldap-useradd.pl

$ /usr/share/samba3/scripts/smbldap-useradd.pl

Usage: /usr/share/samba3/scripts/smbldap-useradd.pl [-awmugdsckGPABCDEFH?]

username

-a is a Windows User (otherwise, Posix stuff only)

-w is a Windows Workstation (otherwise, Posix stuff only)

-x creates rid and primaryGroupID in hex instead of decimal

-u uid

-g gid

-G supplementary comma-separated groups

-n do not create a group

-d home

-s shell

-c gecos

-m creates home directory and copies /etc/skel

-k skeleton dir (with -m)

-P ends by invoking smbldap-passwd.pl

-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]')

-N canonical name-S surname

-? show this help message

Lorsqu'on souhaitera créer un utilisateur système simple, on devra penserque la configuration par défaut propose un shell /bin/false. Cet utilisateur nepourra donc pas se connecter en SSH. On pourra aussi créerautomatiquement son répertoire personnel. Pour éviter d'oublier de lui donnerun mot de passe, l'option -P peut être utilisée (à condition que /

usr/local/sbin/smbldap-passwd.pl soit un lien symbolique sur /

usr/share/samba3/scripts/smbldap-passwd.pl ).

$ /usr/share/samba3/scripts/smbldap-useradd.pl -P -g usersgp -m -s /bin/bash

user1

Changing password for user1

New password :

Retype new password :

$ ll /home

...

drwx------ 3 user1 usersgp 4096 oct 28 11:24 user1/

...

$ /usr/share/samba3/scripts/smbldap-usershow.pl user1

dn: uid=user1,ou=Users,dc=edge-it,dc=subnet

Page 52 / 97

Page 53: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 53/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

objectClass: top,inetOrgPerson,posixAccount

cn: user1sn: user1

uid: user1

uidNumber: 1003

gidNumber: 1002

homeDirectory: /home/user1

loginShell: /bin/bash

gecos: System User

description: System User

userPassword: {MD5}JMnhXlKvxHwiW3V+e+4fnQ==

$ ssh user1@localhost

user1@localhost's password:

[user1@bohrium user1]$ lltotal 4

drwx------ 2 user1 usersgp 4096 aoû 14 2002 tmp/

[user1@bohrium user1]$ exit

Ce même utilisateur peut être aussi un utilisateur Samba en ajoutantl'argument '-a', en supposant que l'utilisateur user1 n'existe pas :

$ /usr/share/samba3/scripts/smbldap-useradd.pl -a -P -g usersgp -m -s /

bin/bash user1

Changing password for user1

New password :

Retype new password :

$ ll /home

...

drwx------ 3 user1 usersgp 4096 oct 28 11:24 user1/

...

$ /usr/share/samba3/scripts/smbldap-usershow.pl user1

dn: uid=user1,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: user1

sn: user1

uid: user1

uidNumber: 1003

gidNumber: 1002

homeDirectory: /home/user1

loginShell: /bin/bash

gecos: System User

description: System User

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]sambaSID: S-1-5-21-1742119943-1715997226-17105414-3006

Page 53 / 97

Page 54: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 54/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:sambaHomePath: \\EDGE-PDC\homes

sambaProfilePath: \\EDGE-PDC\profiles\user1

sambaLogonScript: user1.cmd

sambaLMPassword: FC26CDB2863917C1AAD3B435B51404EE

sambaNTPassword: 00B2C85DDFBD8CC81602D6FC7340EB0B

sambaPwdLastSet: 1067340969

userPassword: {MD5}JMnhXlKvxHwiW3V+e+4fnQ==

$ ssh user1@localhost

user1@localhost's password:

[user1@bohrium user1]$ ll

total 4

drwx------ 2 user1 usersgp 4096 aoû 14 2002 tmp/

Modification des attributs d'un utilisateur : /usr/share/samba3/scripts/smbldap-

usermod.pl

$ /usr/share/samba3/scripts/smbldap-usermod.pl

Usage: /usr/share/samba3/scripts/smbldap-usermod.pl [-awmugdsckxABCDEFGHI?h]

username

Available options are:

-c gecos

-d home directory

-u uid

-o uid can be non unique

-g gid

-G supplementary groups (comma separated)

-l login name

-s shell

-N canonical name

-S surname

For Samba users:

-e expire date ("YYYY-MM-DD HH:MM:SS")

-x creates rid and primaryGroupID in hex instead of decimal (for Samba

2.2.2 unpatched only)

-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

-?|-h show this help message

Au final, l'utilisateur ne doit pas pouvoir se connecter en ssh.

Il suffit donc de changer son shell :

Page 54 / 97

Page 55: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 55/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ /usr/share/samba3/scripts/smbldap-usershow.pl user1

dn: uid=user1,ou=Users,dc=edge-it,dc=subnetobjectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: user1

sn: user1

uid: user1

uidNumber: 1003

gidNumber: 1002

homeDirectory: /home/user1

loginShell: /bin/bashgecos: System User

description: System User

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-17105414-3006

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:

sambaHomePath: \\EDGE-PDC\homes

sambaProfilePath: \\EDGE-PDC\profiles\user1

sambaLogonScript: user1.cmd

sambaLMPassword: FC26CDB2863917C1AAD3B435B51404EE

sambaNTPassword: 00B2C85DDFBD8CC81602D6FC7340EB0B

sambaPwdLastSet: 1067340969userPassword: {MD5}JMnhXlKvxHwiW3V+e+4fnQ==

$ /usr/share/samba3/scripts/smbldap-usermod.pl -s /bin/false test

$ /usr/share/samba3/scripts/smbldap-usershow.pl test

dn: uid=test,ou=Users,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSAMAccount

cn: test

sn: test

uid: test

uidNumber: 1002

gidNumber: 1002

homeDirectory: /home//testgecos: System User

description: System User

sambaLogonTime: 0

sambaLogoffTime: 2147483647

sambaKickoffTime: 2147483647

sambaPwdCanChange: 0

sambaPwdMustChange: 2147483647

displayName: System User

sambaAcctFlags: [UX]

sambaSID: S-1-5-21-1742119943-1715997226-17105414-3004

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-17105414-3005

sambaHomeDrive: H:

sambaHomePath: \\EDGE-PDC\homes

Page 55 / 97

Page 56: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 56/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

sambaProfilePath: \\EDGE-PDC\profiles\test

sambaLogonScript: test.cmdsambaLMPassword: 01FC5A6BE7BC6929AAD3B435B51404EE

sambaNTPassword: 0CB6948805F797BF2A82807973B89537

sambaPwdLastSet: 1067338535

userPassword: {MD5}CY9rzUYh03PK3k6DJie09g==

loginShell: /bin/false

Suppression d'un utilisateur : /usr/share/samba3/scripts/smbldap-userdel.pl

$ /usr/share/samba3/scripts/smbldap-userdel.pl

Usage: /usr/share/samba3/scripts/smbldap-userdel.pl [-r?] username

-r remove home directory

On supprimera donc un utilisateur et son répertoire personnel avec lacommande suivante :

$ /usr/share/samba3/scripts/smbldap-userdel.pl -r user1

4.5.B LES GROUPES

  Voir les informations d'un groupe : /usr/share/samba3/scripts/smbldap-

groupshow.pl

$ /usr/share/samba3/scripts/smbldap-groupshow.pl

Usage: /usr/share/samba3/scripts/smbldap-groupshow.pl [-?] group

-? show this help message

$ /usr/share/samba3/scripts/smbldap-groupshow.pl administrateurs

dn: cn=administrateurs,ou=Groups,dc=edge-it,dc=subnet

gidNumber: 1000

sambaSID: S-1-5-21-1742119943-1715997226-1710541444-512

memberUid: administrateur

sambaGroupType: 2

displayName: Admin Users

objectClass: posixGroup,sambaGroupMapping

description: Groupes des Admins Windowscn: administrateurs

Création d'un groupe : /usr/share/samba3/scripts/smbldap-groupadd.pl

$ /usr/share/samba3/scripts/smbldap-groupadd.pl

Usage: /usr/share/samba3/scripts/smbldap-groupadd.pl [-go?] groupname

-g gid

-o gid is not unique

-? show this help message

$ /usr/share/samba3/scripts/smbldap-groupadd.pl group1

Page 56 / 97

Page 57: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 57/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ /usr/share/samba3/scripts/smbldap-groupshow.pl group1

dn: cn=group1,ou=Groups,dc=edge-it,dc=subnetobjectClass: posixGroup

cn: group1

gidNumber: 1003

Modification des attributs d'un groupe :  /usr/share/samba3/scripts/smbldap-

groupmod.pl

$ /usr/share/samba3/scripts/smbldap-groupmod.pl

Usage: /usr/share/samba3/scripts/smbldap-groupmod.pl [-g gid [-o]] [-n name]

[-m members(,)] [-x members (,)] groupname

-g new gid

-o gid is not unique

-n new group name

-m add members (comma delimited)

-x delete members (comma delimted)

-? show this help message

L'utilisateur user1 appartient au groupe usergp. Il va être aussi associé augroupe group1. Il s'agit alors d'un groupe secondaire pour cet utilisateur, cequi ne modifie en rien sa définition dans l'annuaire LDAP.

$ /usr/share/samba3/scripts/smbldap-groupmod.pl -m user1 group1

adding user user1 to group group1

$ /usr/share/samba3/scripts/smbldap-groupshow.pl group1

dn: cn=group1,ou=Groups,dc=edge-it,dc=subnet

objectClass: posixGroup

cn: group1

gidNumber: 1003

 memberUid: user1

L'opération inverse :

$ /usr/share/samba3/scripts/smbldap-groupmod.pl -x user1 group1

deleting user user1 from group group1

$ /usr/share/samba3/scripts/smbldap-groupshow.pl group1

dn: cn=group1,ou=Groups,dc=edge-it,dc=subnet

objectClass: posixGroup

cn: group1

gidNumber: 1003

Suppression d'un groupe : /usr/share/samba3/scripts/smbldap-groupdel.pl

$ /usr/share/samba3/scripts/smbldap-groupdel.pl group1

Page 57 / 97

Page 58: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 58/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

4.5.C LES MACHINES

Une machine est en fait un utilisateur qui dispose d'un attribut Sambaspécifiant sa qualité. Son nom est suffixé, après la création, par le caractèredollar ($).

Création d'une machine : /usr/share/samba3/scripts/smbldap-useradd.pl

 

$ /usr/share/samba3/scripts/smbldap-useradd.pl

Usage: /usr/share/samba3/scripts/smbldap-useradd.pl [-awmugdsckGPABCDEFH?]

username

-a is a Windows User (otherwise, Posix stuff only)

-w is a Windows Workstation (otherwise, Posix stuff only)-x creates rid and primaryGroupID in hex instead of decimal

-u uid

-g gid

-G supplementary comma-separated groups

-n do not create a group

-d home

-s shell

-c gecos

-m creates home directory and copies /etc/skel

-k skeleton dir (with -m)

-P ends by invoking smbldap-passwd.pl

-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]')

-N canonical name

-S surname

-? show this help message

Page 58 / 97

Page 59: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 59/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

 Voici la première machine de notre réseau :

$ /usr/share/samba3/scripts/smbldap-useradd.pl -w machine1

$ /usr/share/samba3/scripts/smbldap-usershow.pl machine1

/usr/share/samba3/scripts/smbldap-usershow.pl: user machine1 doesn't exist

$ /usr/share/samba3/scripts/smbldap-usershow.pl machine1$

dn: uid=machine1$,ou=Computers,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount

cn: machine1$

sn: machine1$

uid: machine1$

uidNumber: 1004

gidNumber: 421

homeDirectory: /dev/null

loginShell: /bin/false

description: Computer

Lors de cette définition, aucun attribut spécifique à Samba n'est ajouté. Parcontre, la machine a été créée dans l'OU concernée, et le nom comporte bienun dollar à la fin. Lorsque cetta machine sera jointe au domaine, différentschamps Samba seront ajoutés dont sambaAcctFlags: [W] lui affectant son statutde “workstation”.

Les autres commandes concernant les utilisateurs affectent les machines dela même manière.

4.5.D LES  AUTRES OUTILS

Les autres outils disponibles dans le répertoire /usr/share/samba3/scripts/

ne concernent pas directement le cadre de ce document.* convertSambaAccount convertit un arbre LDAP du schéma samba2 verssamba3* print-pdf est un émulateur d'imprimante qui génére du PDF

* smbldap-migrate-accounts.pl & smbldap-migrate-groups.pl permettent lamigration des comptes à partir d'un dump Windows.* smbldap-populate.pl crée une arborescence de base dans LDAP.

Page 59 / 97

Page 60: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 60/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

5 INTÉGRATION DE CLIENTS W INDOWS

Puisque le service semble répondre correctement aux requêtesprécédentes, il ne reste plus qu'à intégrer une machine dans le domaine, ettenter de connecter un utilisateur final.

La première étape est donc d'intégrer une machine Windows sur le réseaugéré par le PDC Samba3.

Il existe deux méthodes. L'une consiste à intégrer la machine dans ledomaine sans pour autant l'avoir préalablement déclarée sur le PDC, laseconde en créant un compte de machine sur le PDC, puis en joignant lamachine au domaine.

L'ensemble des tests ont été réalisés avec un poste Windows 2000 Pro.

5.1 I NSCRIPTION O N T  HE F  LY 

Il s'agit de faire en sorte qu'une machine s'inscrive d'elle même dans leréseau, sans opération particulière sur le PDC. Pour cela, il suffit à un desmembres de la liste définie dans le fichier /etc/samba3/smb.conf à la ligne admin

users de s'authentifier au moment de la jonction au domaine pour que lamachine s'inscrive.

C'est lors de cette opération que la directive add machine script est utilisée.Il faut se connecter en tant qu'administrateur local de la machine.

Page 60 / 97

Page 61: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 61/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Une fois connecté en local, il faut s'assurer que la machine Windows ne faitpas déjà partie d'un domaine.

Un clic droit sur le poste de travail permet d'accéder aux propriétés, puis àl'onglet “Identification Réseau”.

Page 61 / 97

Page 62: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 62/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

La machine testW2k est dans un groupe de travail nommé WKG. Elle n'existepas encore dans l'arbre LDAP.

$ ldapsearch -x uid=testW2k

version: 2

#

# filter: uid=testW2k

# requesting: ALL

#

# search result

search: 2

result: 0 Success

# numResponses: 1

$ ldapsearch -x uid=testW2k$

version: 2

#

# filter: uid=testW2k$

# requesting: ALL

Page 62 / 97

Page 63: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 63/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

#

# search result

search: 2

result: 0 Success

# numResponses: 1

En cliquant sur le bouton “Propriétés” dans cette fenêtre, on peut alorsspécifier le domaine à rejoindre.

Une nouvelle fenêtre apparaît dans laquelle il faut spécifier un utilisateur dela liste spécifiée à l'attribut admin users du fichier /etc/samba3/smb.conf (unutilisateur de l'annuaire LDAP, et non de la machine Windows). L'utilisateuradministrateur de notre annuaire LDAP est dans ce cas.

Page 63 / 97

Page 64: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 64/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Le poste client confirme son inscription au domaine par ce message. Uneinterrogation de l'annuaire LDAP le confirme aussi :

$ ldapsearch -x uid=testW2k$

version: 2

#

# filter: uid=testW2k$

# requesting: ALL

#

# testw2k$, Computers, edge-it, subnetdn: uid=testw2k$,ou=Computers,dc=edge-it,dc=subnet

objectClass: top

objectClass: inetOrgPerson

objectClass: posixAccount

objectClass: sambaSamAccount

cn: testw2k$

sn: testw2k$

uid: testw2k$

uidNumber: 1004

gidNumber: 421

homeDirectory: /dev/null

loginShell: /bin/false

description: ComputersambaSID: S-1-5-21-1742119943-1715997226-1710541444-3008

Page 64 / 97

Page 65: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 65/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-1710541444-1843

displayName: testw2k$sambaAcctFlags: [W ]

sambaPwdCanChange: 1067423372

sambaPwdMustChange: 2147483647

sambaLMPassword: FE3906E42139C28156499F99D5D676BD

sambaNTPassword: 6335B626CEDDABC318527BC01A4EA2EF

sambaPwdLastSet: 1067423372

# search result

search: 2

result: 0 Success

# numResponses: 2

# numEntries: 1

Windows précise alors qu'il doit être redémarré pour prendre en compte lesmodifications.

Page 65 / 97

Page 66: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 66/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Une fois la machine relancée, il faut choisir de se connecter sur le domaine,et non plus sur la machine locale.

5.2 I NSCRIPTION  MANUELLE 

Une machine est en fait un utilisateur particulier. Un des attributs Samba

est positionné différemment et un dollar ($) apparaît à la fin du nom. Pourcréer une machine, les smbldap-tools disposent d'une option :

$ /usr/share/samba3/scripts/smbldap-useradd.pl -w testW2k

$ /usr/share/samba3/scripts/smbldap-usershow.pl testW2k

/usr/share/samba3/scripts/smbldap-usershow.pl: user testW2k doesn't exist

$ /usr/share/samba3/scripts/smbldap-usershow.pl testW2k$

dn: uid=testW2k$,ou=Computers,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount

cn: testW2k$

sn: testW2k$uid: testW2k$

Page 66 / 97

Page 67: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 67/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

uidNumber: 1004

gidNumber: 421homeDirectory: /dev/null

loginShell: /bin/false

description: Computer

On constate que la machine est créée dans l'OU Computers, et qu'un dollar ($)est ajouté à son nom. Tant que la machine n'est pas intégrée dans le domaine,il n'y a pas d'attributs Samba3.

La machine sera ensuite intégrée au domaine en suivant la même procédurequ'au chapitre précédent.

$ /usr/share/samba3/scripts/smbldap-usershow.pl testW2k$dn: uid=testW2k$,ou=Computers,dc=edge-it,dc=subnet

objectClass: top,inetOrgPerson,posixAccount,sambaSamAccount

cn: testW2k$

sn: testW2k$

uid: testW2k$

uidNumber: 1004

gidNumber: 421

homeDirectory: /dev/null

loginShell: /bin/false

description: Computer

sambaSID: S-1-5-21-1742119943-1715997226-1710541444-3008

sambaPrimaryGroupSID: S-1-5-21-1742119943-1715997226-1710541444-1843

displayName: testW2k$sambaAcctFlags: [W ]sambaPwdCanChange: 1067438651

sambaPwdMustChange: 2147483647

sambaLMPassword: ED6BE5E3AAAB15F59B4A590A41C3641D

sambaNTPassword: 690F13E35B208AEB6F385DF2745DE1ED

sambaPwdLastSet: 1067438651

 Voici la machine complètement qualifiée, et intégrée au domaine.

5.3 C ONNEXION  D ' UN  UTILISATEUR 

 Après le redémarrage, la machine peut donc authentifier l'utilisateur test,puisqu'elle a intégré le domaine. Il suffit donc de se logguer, et vérifier que lespartages et imprimantes sont accessibles.

Il faut dans un premier temps sélectionner le domaine auquel l'utilisateur vase connecter, en déroulant le menu correspondant :

Page 67 / 97

Page 68: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 68/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

L'utilisateur test s'authentifie alors sur le domaine spécifié

L'utilisateur est alors dans son environnement de travail après un messageindiquant qu'il n'a pas de profil utilisateur enregistré sur le serveur. Ce profilsera créé lorsque l'utilisateur quittera son environnement la première fois.

Page 68 / 97

Page 69: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 69/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ ll /home/profilestotal 4

drwx------ 13 test usersgp 4096 oct 29 14:25 test/

$ ll /home/profiles/test

total 264

drwxr-xr-x 4 test usersgp 4096 oct 29 14:25 Application Data/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Bureau/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Cookies/

drwxr-xr-x 4 test usersgp 4096 oct 29 14:25 Favoris/

drwxr-xr-x 3 test usersgp 4096 oct 29 14:25 Menu Démarrer/

drwxr-xr-x 3 test usersgp 4096 oct 29 14:25 Mes documents/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Modèles/

-rwxr--r-- 1 test usersgp 212992 oct 29 15:14 NTUSER.DAT*-rwxr--r-- 1 test usersgp 1024 oct 29 15:14 ntuser.dat.LOG*

-rw-r--r-- 1 test usersgp 186 oct 29 14:25 ntuser.ini

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Recent/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 SendTo/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Voisinage

d'impression/

drwxr-xr-x 2 test usersgp 4096 oct 29 14:25 Voisinage réseau/

Le poste de travail nous montre le résultat de la création à la volée dufichier de netlogon, avec le montage des partages homes et public.

Page 69 / 97

Page 70: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 70/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$ ll /home/netlogon/

total 8

-rwxr-xr-x 1 root root 2230 oct 29 15:42 logon_script*

-rw-r--r-x 1 root root 230 oct 29 15:46 test.cmd*

$ less /home/netlogon/test.cmd

@ECHO off

ECHO.

ECHO Type : Win2K.

ECHO.

ECHO Ordinateur : testw2k - Utilisateur : test - Groupe : usersgp. - Serveur:

edge-pdc

ECHO.

NET TIME \\EDGE-PDC /set /yes

NET USE /persistent:no

NET USE t: \\EDGE-PDC\public /yes

Page 70 / 97

Page 71: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 71/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

6 CONFIGURATION DES IMPRIMANTES DU PDC

Lors de la lecture des paragraphes FIXME (2.4) et FIXME (3.6), des imprimantes ont été

définies dans CUPS, puis associées aux drivers installés dans /usr/share/cups/drivers via la

commande cupsaddsmb.

Il faut maintenant installer cette ou ces imprimantes sur le client. Etant définies sur le PDC, il

faut retrouver ce serveur via le voisinage réseau.

Voici le domaine qui est définie dans Samba :

Page 71 / 97

Page 72: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 72/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Les Différentes machines de ce domaine apparaissent, dont le PDC “Edge-PDC”.

En sélectionnant le PDC, on obtient la liste des ressources qui sont accessibles à l'utilisateurconnecté.

Page 72 / 97

Page 73: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 73/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Pour le moment, la liste des imprimantes sur la machine locale est vide, mais un clic droit sur

une des imprimantes disponibles sur le PDC permet de se connecter à l'imprimante désirée.

Page 73 / 97

Page 74: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 74/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Comme les drivers sont sur le PDC, il n'est pas besoin de les installer. L'imprimante estautomatiquement configurée et installée.

Page 74 / 97

Page 75: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 75/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Page 75 / 97

Page 76: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 76/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Annexes

Page 76 / 97

Page 77: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 77/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Fichier auto_inst.cf 

$ less /mnt/floppy/auto_inst.cfg

#!/usr/bin/perl -cw

#

# You should check the syntax of this file before using it in an auto-install.

# You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file

# (note the '#!/usr/bin/perl -cw' on the first line).

$o = {

'printer' => {

'BROWSEPOLLADDR' => undef,'configured' => {},

'MANUALCUPSCONFIG' => undef,

'BROWSEPOLLPORT' => undef,

'DEFAULT' => undef,

'SPOOLER' => undef

},

'libsafe' => 0,

'security_user' => '',

'netc' => {

'NETWORKING' => 'yes',

'DHCP' => 'no',

'ZEROCONF_HOSTNAME' => undef,

'NET_DEVICE' => 'eth0','HOSTNAME' => 'ilemaurice',

'GATEWAY' => '130.0.0.211',

'dnsServer' => '127.0.0.1'

},

'default_packages' => [

# 'locales-fr',

# 'msec',

# 'gnupg',

# 'hotplug',

# 'at',

# 'coreutils-doc',

# 'devfsd',

# 'harddrake',# 'hdparm',

# 'ldetect',

'urpmi',

'openssh',

'openssh-clients',

'openssh-server',

# 'telnet',

'vim-enhanced',

# 'sudo',

# 'tmpwatch',

],

'useSupermount' => '0',

'users' => [

Page 77 / 97

Page 78: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 78/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

{

'icon' => 'man','pw' => '$1$VGTq1WMc$27LeFAb5U5Lxk2wREDNDD.',

'uid' => 501,

'name' => 'admin',

'realname' => '',

'groups' => [],

'shell' => '/bin/bash',

'home' => '/home/admin',

'gid' => 501

}

],

'locale' => {

'country' => 'FR',

'lang' => 'fr','langs' => {

'fr' => 1

},

'utf8' => ''

},

'authentication' => {

'NIS' => '',

'shadow' => 1,

'winbind' => '',

'LDAP' => '',

'md5' => 1

},

'partitions' => [],

'netcnx' => {

'type' => 'lan',

'lan' => {}

},

'superuser' => {

'pw' => '$1$MEMUIURx$rG6oZGvoqvJGvWXScfQF..',

'uid' => '0',

'realname' => 'root',

'shell' => '/bin/bash',

'home' => '/root',

'gid' => '0'

},'mouse' => {

'XMOUSETYPE' => 'PS/2',

'name' => 'Generic PS2 Mouse',

'device' => 'psaux',

'type' => 'PS/2',

'nbuttons' => 5,

'MOUSETYPE' => 'ps2'

},

'autoExitInstall' => '',

'mkbootdisk' => 0,

'keyboard' => {

'GRP_TOGGLE' => '',

'KBCHARSET' => 'iso-8859-15',

Page 78 / 97

Page 79: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 79/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

'KEYBOARD' => 'fr'

},

'timezone' => {

'ntp' => undef,

'timezone' => 'Europe/Paris',

'UTC' => 1

},

'intf' => {

'eth0' => {

'IPADDR' => '130.0.0.206',

'NETMASK' => '255.255.255.0',

'BROADCAST' => '130.0.0.255',

'BOOTPROTO' => 'static',

'NETWORK' => '130.0.0.0','ONBOOT' => 'yes',

'DEVICE' => 'eth0',

'GATEWAY' => '130.0.0.211'

},

},

'partitioning' => {

'auto_allocate' => '1',

'clearall' => '1',

'eraseBadPartitions' => 0

},

'security' => 2,

'interactiveSteps' => [

'doPartitionDisks','formatPartitions'

],

'postInstall' => '

/bin/rpm -e alsa-utils libalsa2 libalsa-data grub procmail

tmdns zcip

/bin/rpm -e foomatic-db

/bin/rpm -e foomatic-db-engine

/bin/rpm -e foomatic-filters

/bin/rpm -e printer-utils

/bin/rpm -e printer-filters

/bin/rpm -e printer-testpages

/bin/rpm -e ghostscript/bin/rpm -e ghostscript-fonts

/bin/rpm -e libcups1

/bin/rpm -e netpbm

/bin/rpm -e lesstif

/bin/rpm -e libgimp1.2_1

/bin/rpm -e libpng3

/bin/rpm -e libtiff3

/bin/rpm -e libjpeg62

/bin/rpm -e urw-fonts

/bin/rpm -e libxml2

/bin/rpm -e libgtk+1.2

/bin/rpm -e libgimpprint1

/bin/rpm -e --nodeps chkfontpath

Page 79 / 97

Page 80: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 80/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

/bin/rpm -e --nodeps XFree86-xfs

/bin/rpm -e XFree86-libs/bin/rpm -e libnetpbm9

/bin/rpm -e numlock

/bin/rpm -e perl

/bin/rpm -e --nodeps libfontconfig1

/bin/rpm -e --nodeps fontconfig

/bin/rpm -e libxpm4

/bin/rpm -e freetype

/bin/rpm -e libexpat0

mkdir /root/post_install

echo "" >> /etc/init.d/mandrake_firstime

echo "# SmartShare Installer" >> /etc/init.d/mandrake_firstime

echo "mount /mnt/cdrom" >> /etc/init.d/mandrake_firstimeecho "cp -r /mnt/cdrom/* /root/post_install/" >> /

etc/init.d/mandrake_firstime

echo "/root/post_install/post_install_2" >> /

etc/init.d/mandrake_firstime

'

};

Les fichiers de configuration complets

/etc/openldap/slapd.conf  

# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 23:32:43 kurt Exp $

#

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

#

# Modified by Christian Zoffoli <[email protected]># Version 0.2

#

include /usr/share/openldap/schema/core.schema

include /usr/share/openldap/schema/cosine.schema

include /usr/share/openldap/schema/corba.schema

include /usr/share/openldap/schema/inetorgperson.schema

include /usr/share/openldap/schema/java.schema

include /usr/share/openldap/schema/krb5-kdc.schema

include /usr/share/openldap/schema/kerberosobject.schema

include /usr/share/openldap/schema/misc.schema

include /usr/share/openldap/schema/nis.schema

include /usr/share/openldap/schema/openldap.schema

#include /usr/share/openldap/schema/egroupware/phpgwaccount.schema

#include /usr/share/openldap/schema/egroupware/phpgwcontact.schema

Page 80 / 97

Page 81: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 81/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

#include /usr/share/openldap/schema/rfc822-MailMember.schema

#include /usr/share/openldap/schema/mailrouter.schema

#include /usr/share/openldap/schema/pilot.schema

#include /usr/share/openldap/schema/autofs.schema

#include /usr/share/openldap/schema/samba.schema

#include /usr/share/openldap/schema/qmail.schema

#include /usr/share/openldap/schema/mull.schema

#include /usr/share/openldap/schema/netscape-profile.schema

#include /usr/share/openldap/schema/trust.schema

#include /usr/share/openldap/schema/dns.schema

#include /usr/share/openldap/schema/cron.schema

include /usr/share/doc/samba3-doc-3.0.2a/examples/LDAP/samba.schema

include /etc/openldap/schema/local.schema

# Define global ACLs to disable default read access.

include /etc/openldap/slapd.access.conf

# Do not enable referrals until AFTER you have a working directory

# service AND an understanding of referrals.

#referral ldap://root.openldap.org

pidfile /var/run/ldap/slapd.pid

argsfile /var/run/ldap/slapd.args

modulepath /usr/lib/openldap

#moduleload back_dnssrv.la

#moduleload back_ldap.la

#moduleload back_passwd.la

#moduleload back_sql.la

# SASL config

#sasl-host ldap.example.com

# To allow TLS-enabled connections, create /usr/share/ssl/certs/slapd.pem

# and uncomment the following lines.

#TLSRandFile /dev/random

#TLSCipherSuite HIGH:MEDIUM:+SSLv2

TLSCertificateFile /etc/ssl/openldap/ldap.pem

TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem

#TLSCACertificatePath /etc/ssl/openldap/

TLSCACertificateFile /etc/ssl/openldap/ldap.pem

#TLSVerifyClient 0

#######################################################################

# ldbm database definitions

#######################################################################

database ldbm

suffix "dc=edge-it,dc=subnet"

rootdn "cn=Manager,dc=edge-it ,dc=subnet"

rootpw secret

directory /var/lib/ldap

# Cleartext passwords, especially for the rootdn, should

# be avoided. See slappasswd(8) and slapd.conf(5) for details.

# Use of strong authentication encouraged.

# rootpw secret

# rootpw {crypt}ijFYNcSNctBYg

# The database directory MUST exist prior to running slapd AND

# should only be accessable by the slapd/tools. Mode 700 recommended.

#directory /var/lib/ldap

Page 81 / 97

Page 82: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 82/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# Indices to maintain

#index objectClass eq

#index objectClass,uid,uidNumber,gidNumber eq

#index cn,mail,surname,givenname eq,subinitial

index objectClass,uid,uidNumber,gidNumber,memberUid eq

index cn eq,subinitial

# logging

loglevel 256

# Basic ACL

access to attr=userPassword

by dn="cn=Manager,dc=edge-it,dc=subnet" write

by self write

by anonymous auth

by * none

access to attr=sambaLMPassword

by dn="cn=Manager,dc=edge-it,dc=subnet" write

by self write

by anonymous auth

by * none

access to attr=sambaNTPassword

by dn="cn=Manager,dc=edge-it,dc=subnet" write

by self write

by anonymous auth

by * none

access to *

by dn="cn=Manager,dc=edge-it,dc=subnet" write

by self write

by * read

/etc/openldap/ldap.conf  

$ ll /etc/ldap.conf

lrwxrwxrwx 1 root root 23 dec 16 13:03 /etc/ldap.conf -> /etc/openldap/ldap.conf

# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.4.8.6 2000/09/05 17:54:38 kurt Exp $

#

# LDAP Defaults

#

# See ldap.conf(5) for details

# This file should be world readable but not world writable.

#BASE dc=example, dc=com

#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12

#TIMELIMIT 15

#DEREF never

host 127.0.0.1

base dc=edge-it,dc=subnet

binddn cn=Manager,dc=edge-it,dc=subnet

bindpw secret

rootbinddn cn=Manager,dc=edge-it,dc=subnet

Page 82 / 97

Page 83: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 83/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

port 389

scope sub

pam_filter objectclass=posixaccount

pam_login_attribute uid

pam_password md5

nss_base_passwd dc=edge-it,dc=subnet?sub

nss_base_shadow dc=edge-it,dc=subnet?sub

nss_base_group ou=Groups,dc=edge-it,dc=subnet?sub

ssl no

/etc/nsswitch.conf  

#

# /etc/nsswitch.conf

#

# An example Name Service Switch config file. This file should be

# sorted with the most-used services at the beginning.

#

# The entry '[NOTFOUND=return]' means that the search for an

# entry should stop if the search in the previous entry turned

# up nothing. Note that if the search failed due to some other reason

# (like no NIS server responding) then the search continues with the

# next entry.

#

# Legal entries are:

#

# nisplus or nis+ Use NIS+ (NIS version 3)# nis or yp Use NIS (NIS version 2), also called YP

# dns Use DNS (Domain Name Service)

# files Use the local files

# db Use the local database (.db) files

# compat Use NIS on compat mode

# hesiod Use Hesiod for user lookups

# [NOTFOUND=return] Stop searching if not found so far

#

# To use db, put the "db" in front of "files" for entries you want to be

# looked up first in the databases

#

# Example:

#passwd: db files nisplus nis

#shadow: db files nisplus nis

#group: db files nisplus nis

passwd: files ldap

shadow: files ldap

group: files ldap

#hosts: db files nisplus nis dns

hosts: files nisplus nis dns

# Example - obey only what nisplus tells us...

#services: nisplus [NOTFOUND=return] files

#networks: nisplus [NOTFOUND=return] files

#protocols: nisplus [NOTFOUND=return] files

#rpc: nisplus [NOTFOUND=return] files

#ethers: nisplus [NOTFOUND=return] files

#netmasks: nisplus [NOTFOUND=return] files

bootparams: nisplus [NOTFOUND=return] files

Page 83 / 97

Page 84: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 84/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

ethers: files

netmasks: files

networks: files

protocols: files

rpc: files

services: files

netgroup: nisplus

publickey: nisplus

automount: files nisplus

aliases: files nisplus

/etc/pam.d/system auth 

#%PAM-1.0

auth required /lib/security/pam_env.so

auth sufficient /lib/security/pam_unix.so likeauth nullok

auth sufficient /lib/security/pam_ldap.so use_first_pass

auth required /lib/security/pam_deny.so

account required /lib/security/pam_unix.so

account sufficient /lib/security/pam_ldap.so

password required /lib/security/pam_cracklib.so retry=3 minlen=4 dcredit=0 ucredit=0

password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow

password sufficient /lib/security/pam_ldap.so use_authtokpassword required /lib/security/pam_deny.so

session optional /lib/security/pam_mkhomedir.so skel=/etc/skel umask=0022

session required /lib/security/pam_limits.so

session required /lib/security/pam_unix.so

session optional /lib/security/pam_ldap.so

/etc/cups/cupsd.conf  

#

# "$Id: cupsd.conf.in,v 1.10 2002/12/17 22:08:08 mike Exp $"

## Sample configuration file for the Common UNIX Printing System (CUPS)

# scheduler.

#

# Copyright 1997-2003 by Easy Software Products, all rights reserved.

#

# These coded instructions, statements, and computer programs are the

# property of Easy Software Products and are protected by Federal

# copyright law. Distribution and use rights are outlined in the file

# "LICENSE.txt" which should have been included with this file. If this

# file is missing or damaged please contact Easy Software Products

# at:

#

# Attn: CUPS Licensing Information

# Easy Software Products

# 44141 Airport View Drive, Suite 204

# Hollywood, Maryland 20636-3111 USA#

Page 84 / 97

Page 85: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 85/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# Voice: (301) 373-9603

# EMail: [email protected]

# WWW: http://www.cups.org

#

########################################################################

# #

# This is the CUPS configuration file. If you are familiar with #

# Apache or any of the other popular web servers, we've followed the #

# same format. Any configuration variable used here has the same #

# semantics as the corresponding variable in Apache. If we need #

# different functionality then a different name is used to avoid #

# confusion... #

# #

########################################################################

########

######## Server Identity

########

#

# ServerName: the hostname of your server, as advertised to the world.

# By default CUPS will use the hostname of the system.

#

# To set the default server used by clients, see the client.conf file.

#

ServerName testPDC.edge-it.subnet

#

# ServerAdmin: the email address to send all complaints/problems to.

# By default CUPS will use "root@hostname".

#

#ServerAdmin [email protected]

LogLevel debug2

TempDir /var/spool/cups/tmp

Port 631

BrowseAddress @LOCAL

BrowseDeny All

BrowseAllow 127.0.0.1

BrowseAllow @LOCAL

BrowseOrder deny,allow

<Location />

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 192.168.0.*

</Location>

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

Allow From 192.168.0.*

</Location>

Page 85 / 97

Page 86: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 86/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

/etc/cups/client.conf  

#

# "$Id: client.conf,v 1.6 2002/12/17 18:56:38 swdev Exp $"

#

# Sample client configuration file for the Common UNIX Printing System

# (CUPS).

#

# Copyright 1997-2003 by Easy Software Products, all rights reserved.

#

# These coded instructions, statements, and computer programs are the

# property of Easy Software Products and are protected by Federal

# copyright law. Distribution and use rights are outlined in the file

# "LICENSE.txt" which should have been included with this file. If this

# file is missing or damaged please contact Easy Software Products

# at:

#

# Attn: CUPS Licensing Information

# Easy Software Products

# 44141 Airport View Drive, Suite 204

# Hollywood, Maryland 20636-3111 USA

#

# Voice: (301) 373-9603

# EMail: [email protected]

# WWW: http://www.cups.org

#

########################################################################

# #

# This is the CUPS client configuration file. This file is used to #

# define client-specific parameters, such as the default server or #

# default encryption settings. #

# #

########################################################################

#

# ServerName: the hostname of your server. By default CUPS will use the

# hostname of the system or the value of the CUPS_SERVER environment

# variable.

#

ServerName testPDC.edge-it.subnet

#

# Encryption: whether or not to use encryption; this depends on having

# the OpenSSL library linked into the CUPS library.

#

# Possible values:

#

# Always - Always use encryption (SSL)

# Never - Never use encryption

# Required - Use TLS encryption upgrade

# IfRequested - Use encryption if the server requests it

#

# The default value is "IfRequested". This parameter can also be set

# using the CUPS_ENCRYPTION environment variable.

#

#Encryption Always

#Encryption Never

#Encryption Required

#Encryption IfRequested

#

Page 86 / 97

Page 87: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 87/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# End of "$Id: client.conf,v 1.6 2002/12/17 18:56:38 swdev Exp $".

#

/etc/samba3/smb.conf  

[global]

##############################################

### ###

### Caracteristiques netbios de la machine ###

### ###

##############################################

# definition du nom du domaine a gerer

workgroup = Edge-DOM# definition du nom netbios de la machine

netbios name = Edge-PDC

# commentaire concernant la machine

server string = Serveur PDC Edge-IT

########################

### ###

### Gestion des logs ###

### ###

########################

# lieu de stockage

log file = /var/log/samba3/log.%m

# taille maximale du fichier de log

max log size = 5000

# niveau de log

#log level = 101log level = 1

#####################################

### ###

### definition du role du serveur ###

### ###

#####################################

# PDC

security = user

# OS level > 32 pour tre lu

os level = 80

# permet le declenchement des elections

# definition d'un PDC

local master = yes

# domain master browser

domain master = yes# force les elections pour devenir PDC

preferred master = yes

# le serveur fait de l'authentification

domain logons = yes

#################################

### ###

### gestion des mots de passe ###

### ###

#################################

# les echanges de mots de passe sont chiffres

encrypt passwords = yes

# on utilise un script externe...

pam password change = no

passwd program = /usr/share/samba3/scripts/smbldap-passwd.pl %u

# qui change aussi les mots de passe Posixunix password sync = no

Page 87 / 97

Page 88: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 88/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# dialogue entre samba et le script

passwd chat = *New*password* %n\n *Retype*new*password* %n\n

*passwd:*all*authentication*tokens*updated*successfully*

# en phase de debug, on active cette ligne pour etudier le dialogue

;passwd chat debug = yes

# a n'utiliser que si on stocke quelques utilisateurs specifiques hors LDAP

;smb passwd file = /etc/samba3/smbpasswd

###########################################

### ###

### definition des bases d'utilisateurs ###

### ###

###########################################

# on peut definir plusieurs types de sources

;passdb backend = ldapsam, smbpasswd, guest

;passdb backend = ldapsam:ldap://myfirstldap.edge-it.fr,

ldapsam:ldap://mysecondldap.edge-it.fr, guest

passdb backend = ldapsam, guest

# definition des attributs ldap

ldap admin dn = cn=Manager,dc=edge-it,dc=subnet

ldap ssl = No

ldap port = 389

ldap suffix = dc=edge-it,dc=subnet

ldap machine suffix = ou=Computers

ldap user suffix = ou=Users

ldap group suffix = ou=Groups

# le groupe des administrateurs du domaine

admin users = @administrateurs

##############

### ###

### DIVERS ###

### ###

##############

# le PDC est aussi serveur wins

wins support = yes

# si ce n'est pas le cas, on l'indique ici

;wins server = <ip>

# ordre de resolution des noms netbios

name resolve order = wins lmhosts bcast

# pas de rsolution DNS sur les noms netbios

dns proxy = no

# quelques options de performance reseau

# ces valeurs sont valables sur la majorite des configurations

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

;socket options = TCP_NODELAY SO_RCVBUF=4096 SO_SNDBUF=4096

# Utilisateur utilise lorsque l'argument guest ok est a yes sur un partage

guest account = administrateur

# creation d'un nouvel utilisateur a-la-demande s'il n'existe pas deja dans la base.

; add user script = /usr/share/samba3/scripts/smbldap-useradd.pl -a %u

# delete user script supprime l'utilisateur via les outils d'administration NT

# en utilisant les outils d'administration NT, la craation d'un groupe est possible

;add group script = /usr/share/samba3/scripts/smbldap-groupadd.pl %g

# delete group script fait l'operation inverse

# avec ces memes outils, on peut associer un utilisateur a un groupe

;add user to group script = /usr/share/samba3/scripts/smbldap-groupmod.pl -m %u %g

# delete user from group script fait l'operation inverse

# script utilise pour ajouter une machine On-The-Fly avec une authentification comme

administrateur du domaine

add machine script = /usr/share/samba3/scripts/smbldap-useradd.pl -w %u

Page 88 / 97

Page 89: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 89/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

##########################################

### ###

### Translation des jeux de caracteres ###

### ###

##########################################

dos charset = 850

unix charset = ISO8859-15

###############################

### ###

### Gestion de l'impression ###

### ###

###############################

# on se sert des imprimantes definies dans CUPS

# on charge la liste

printcap name = cups

load printers = yes

# ajout des imprimantes autorisees pour le groupe administrateurs

printer admin = @administrateurs

###############################

### ###

### DEFINITION DES PARTAGES ###

### (fichiers) ###

### ###

###############################

# le partage des homedirectory tel qu'il est defini par defaut

# cree un partage du type \\SERVER\\%u

# utilisant le path /home/%u

#[homes]

# comment = Home Directories

# browseable = no

# writable = yes

# root preexec = /etc/samba3/mkhomedir.sh %u %g

# #vfs object = recycle

# #recycle:repository = .Corbeille

# #recycle:versions = yes

# #recycle:maxsize = 5242880

[%U]

path = /home/prives/%U

comment = Home Directories

browseable = no

writeable = yes

root preexec = /etc/samba3/mkhomedir.sh %u %g

# si on souhaite avoir un partage priv ayant un autre nom que « homes »

# on peut definir ce type d'entree

;[prives]

;path = /home/Prives/%u

;comment = Repertoire Prive

;browseable = no

;writable = yes

;root preexec = /usr/local/sbin/mkhomedir %u %g

# partage des scripts de netlogon generes a la volee

# par le script /home/netlogon/logon_script

[netlogon]

comment = Network Logon Service

path = /home/netlogon

guest ok = yes

writable = no

browseable = no

root preexec = /home/netlogon/logon_script '%m' '%U' '%a' '%g' '%L'

Page 89 / 97

Page 90: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 90/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# definition du partage des profiles utilisateur

[profiles]

path = /home/profiles

browseable = no

guest ok = yes

profile acls = yes

writeable = yes

[administrateurs]

comment = Stockage des Mises Jour

path = /home/administrateurs

browseable = no

writable = yes

hide unreadable = yes

[public]

comment = Rpertoire Public

path = /home/public

public = yes

writeable = yes

browseable = yes

###############################

### ###

### DEFINITION DES PARTAGES ###

### (imprimantes) ###

### ###

###############################

#Comme les packages utilises sont compiles avec la libcups, la directive 'print command' est

ignore.

# partage des imprimantes declarees

[printers]

comment = All Printers

path = /var/spool/samba3

browseable = no

# to allow user 'guest account' to print.

guest ok = yes

writable = no

printable = yes

create mode = 0700

# partage de distribution des drivers d'impression

[print$]

path = /var/lib/samba3/printers

browseable = no

read only = yes

write list = @administrateurs

guest ok = yes

/etc/samba3/smbldap_conf.pm 

#!/usr/bin/perl

use strict;

package smbldap_conf3;

# smbldap-tools.conf : Q & D configuration file for smbldap-tools

# This code was developped by IDEALX (http://IDEALX.org/) and

# contributors (their names can be found in the CONTRIBUTORS file).#

Page 90 / 97

Page 91: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 91/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# Copyright (C) 2001-2002 IDEALX

#

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,

# USA.

# Purpose :

# . be the configuration file for all smbldap-tools scripts

use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS

$UID_START $GID_START $smbpasswd $slaveLDAP $masterLDAP

$slavePort $masterPort $ldapSSL $slaveURI $masterURI $with_smbpasswd $mk_ntpasswd

$ldap_path $ldap_opts $ldapmodify $suffix $usersdn $computersdn

$groupsdn $scope $binddn $bindpasswd

$slaveDN $slavePw $masterDN $masterPw

$_userLoginShell $_userHomePrefix $_userGecos

$_defaultUserGid $_defaultComputerGid

$_skeletonDir $_userSmbHome

$_userProfile $_userHomeDrive

$_userScript $usersou $computersou $groupsou $SID $hash_encrypt

);

use Exporter;

$VERSION = 1.00;

@ISA = qw(Exporter);

@EXPORT = qw(

$UID_START $GID_START $smbpasswd $slaveLDAP $masterLDAP

$slavePort $masterPort $ldapSSL $slaveURI $masterURI $with_smbpasswd $mk_ntpasswd

$ldap_path $ldap_opts $ldapmodify $suffix $usersdn

$computersdn $groupsdn $scope $binddn $bindpasswd

$slaveDN $slavePw $masterDN $masterPw

$_userLoginShell $_userHomePrefix $_userGecos

$_defaultUserGid $_defaultComputerGid $_skeletonDir

$_userSmbHome $_userProfile $_userHomeDrive $_userScript

$usersou $computersou $groupsou $SID $hash_encrypt

);

##############################################################################

#

# General Configuration

#

##############################################################################

# UID and GID starting at...

$UID_START = 1000;

$GID_START = 1000;

# Put your own SID

# to obtain this number do: "net getlocalsid"

$SID='S-1-5-21-2136195339-989863896-887269785';

##############################################################################

#

# LDAP Configuration

Page 91 / 97

Page 92: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 92/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

#

##############################################################################

# Notes: to use to dual ldap servers backend for Samba, you must patch

# Samba with the dual-head patch from IDEALX. If not using this patch

# just use the same server for slaveLDAP and masterLDAP.

# Those two servers declarations can also be used when you have

# . one master LDAP server where all writing operations must be done

# . one slave LDAP server where all reading operations must be done

# (typically a replication directory)

# Ex: $slaveLDAP = "127.0.0.1";

$slaveLDAP = "127.0.0.1";

$slavePort = "389";

# Master LDAP : needed for write operations

# Ex: $masterLDAP = "127.0.0.1";

$masterLDAP = "127.0.0.1";

$masterPort = "389";

# Use SSL for LDAP

# If set to "1", this option will use start_tls for connection

# (you should also used the port 389)

$ldapSSL = "0";

# LDAP Suffix

# Ex: $suffix = "dc=IDEALX,dc=ORG";

$suffix = "dc=edge-it,dc=subnet";

# Where are stored Users

# Ex: $usersdn = "ou=Users,$suffix"; for ou=Users,dc=IDEALX,dc=ORG

$usersou = q(Users);

$usersdn = "ou=$usersou,$suffix";

# Where are stored Computers

# Ex: $computersdn = "ou=Computers,$suffix"; for ou=Computers,dc=IDEALX,dc=ORG

$computersou = q(Computers);

$computersdn = "ou=$computersou,$suffix";

# Where are stored Groups

# Ex $groupsdn = "ou=Groups,$suffix"; for ou=Groups,dc=IDEALX,dc=ORG

$groupsou = q(Groups);

$groupsdn = "ou=$groupsou,$suffix";

# Default scope Used

$scope = "sub";

# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA)

$hash_encrypt="MD5";

############################

# Credential Configuration #

############################

# Bind DN used

# Ex: $binddn = "cn=Manager,$suffix"; for cn=Manager,dc=IDEALX,dc=org

$binddn = "cn=Manager,$suffix";

# Bind DN passwd used

# Ex: $bindpasswd = 'secret'; for 'secret'

$bindpasswd = "riobeau1203";

# Notes: if using dual ldap patch, you can specify to different configuration

# By default, we will use the same DN (so it will work for standard Samba

# release)

$slaveDN = $binddn;

$slavePw = $bindpasswd;

Page 92 / 97

Page 93: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 93/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

$masterDN = $binddn;

$masterPw = $bindpasswd;

##############################################################################

#

# Unix Accounts Configuration

#

##############################################################################

# Login defs

# Default Login Shell

# Ex: $_userLoginShell = q(/bin/bash);

$_userLoginShell = q(/bin/false);

# Home directory prefix (without username)

#Ex: $_userHomePrefix = q(/home/);

$_userHomePrefix = q(/home/prives);

# Gecos

$_userGecos = q(System User);

# Default User (POSIX and Samba) GID

$_defaultUserGid = 513;

# Default Computer (Samba) GID

$_defaultComputerGid = 421;

# Skel dir

$_skeletonDir = q(/etc/skel);

##############################################################################

#

# SAMBA Configuration

#

##############################################################################

# The UNC path to home drives location without the username last extension

# (will be dynamically prepended)

# Ex: q(\\\\My-PDC-netbios-name\\homes) for \\My-PDC-netbios-name\homes

$_userSmbHome = q(\\\\serveurstt1\\homes);

# The UNC path to profiles locations without the username last extension

# (will be dynamically prepended)

# Ex: q(\\\\My-PDC-netbios-name\\profiles\\) for \\My-PDC-netbios-name\profiles

$_userProfile = q(\\\\serveurstt1\\profiles\\);

# The default Home Drive Letter mapping

# (will be automatically mapped at logon time if home directory exist)

# Ex: q(U:) for U:

$_userHomeDrive = q(Z:);

# The default user netlogon script name

# if not used, will be automatically username.cmd

#$_userScript = q(startup.cmd); # make sure script file is edited under dos

##############################################################################

#

# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)

#

##############################################################################

# Allows not to use smbpasswd (if $with_smbpasswd == 0 in smbldap_conf.pm) but

# prefer mkntpwd... most of the time, it's a wise choice :-)

$with_smbpasswd = 0;

$smbpasswd = "/usr/bin/smbpasswd";

$mk_ntpasswd = "/usr/sbin/mkntpwd3";

Page 93 / 97

Page 94: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 94/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

# those next externals commands are kept fot the migration scripts and

# for the populate script: this will be updated as soon as possible

$slaveURI = "ldap://$slaveLDAP:$slavePort";

$masterURI = "ldap://$masterLDAP:$masterPort";

$ldap_path = "/usr/bin";

if ( $ldapSSL eq "0" ) {

$ldap_opts = "-x";

} elsif ( $ldapSSL eq "1" ) {

$ldap_opts = "-x -Z";

} else {

die "ldapSSL option must be either 0 or 1.\n";

}

#$ldapsearch = "$ldap_path/ldapsearch $ldap_opts -H $slaveURI -D '$slaveDN' -w '$slavePw'";

#$ldapsearchnobind = "$ldap_path/ldapsearch $ldap_opts -H $slaveURI";

$ldapmodify = "$ldap_path/ldapmodify $ldap_opts -H $masterURI -D '$masterDN' -w '$masterPw'";

#$ldappasswd = "$ldap_path/ldappasswd $ldap_opts -H $masterURI -D '$masterDN' -w '$masterPw'";

#$ldapadd = "$ldap_path/ldapadd $ldap_opts -H $masterURI -D '$masterDN' -w '$masterPw'";

#$ldapdelete = "$ldap_path/ldapdelete $ldap_opts -H $masterURI -D '$masterDN' -w '$masterPw'";

#$ldapmodrdn = "$ldap_path/ldapmodrdn $ldap_opts -H $masterURI -D '$masterDN' -w '$masterPw'";

1;

# - The End

/home/netlogon/logon_script 

#!/bin/sh

#

# Generate logon script for windows (or dos)

# Original Author: Francois-Xavier Le Bail mailto:[email protected]

#

#-- PARAMETRES --

# %m (machine netbios name) %U (user) %a (architecture) %g (group) %L (server)

# $1 $2 $3 $4 $5

#

# <-- START -->

#-- VARIABLES

SAMBA_DIR=/var/log/samba3

SUFFIX=bat

CLIENT_MACHINE="$1"USER="$2"

# SYSTEM_TYPE (architecture) : WinXP, Win2K, WinNT, Win95, WfWg, Samba

SYSTEM_TYPE="$3"

GROUP="$4"

SERVER_NAME="$5"

SCRIPT="/home/netlogon/$USER.$SUFFIX"

SERVER_TIME="\\\\testPDC"

SERVER_NAS="\\\\testPDC"

#-- FONCTIONS

# end of line in windows/dos world : CR+NL

# echo -n "WINDOWS_COMMAND"; echo -e '\r'

# do the trick.

# use "write" to write in the logon script

write () { echo -n "$@"; echo -e '\r'; }

# upper to lower function (user name, ...)u2l () { echo "$@" | tr '[A-Z]' '[a-z]'; }

Page 94 / 97

Page 95: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 95/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

#-- ERRORS LOG --

# for the new files

umask 022

# if you need the errors messages

#exec 2>>"$SAMBA_DIR/logon_script.err"

# if you prefer the errors messages by machine name, comment the preceding line

# and uncomment :

exec 2>>"$SAMBA_DIR/logon_script.$USER.err"

# if you need SHELL DEBUG, in the errors messages file, uncomment :

#set -x

#-- HEADER --

# this redirection mean all the standard output go in the logon script

exec 1>"$SCRIPT"

# to hidden the script, (need "map hidden = yes", see in "man smb.conf")

chmod o+x "$SCRIPT"

#-- BODY --

write "@ECHO off"

write "ECHO."

write "ECHO Type : $SYSTEM_TYPE."

write "ECHO."

write "ECHO Ordinateur : $CLIENT_MACHINE - Utilisateur : $USER - Groupe : $GROUP - Serveur:

$SERVER_NAME"

write "ECHO."

# set the workstation time at the server time

write "NET TIME $SERVER_TIME /set /yes"

# perhaps you need non persistent connexion

write "NET USE /persistent:no"

#case "$SYSTEM_TYPE" in

#WinNT)

# # mount the home share

# write "NET USE U: $SERVER_NAS\\homes /yes"

#esac

write "NET USE H: $SERVER_NAS\\$USER /yes"

write "NET USE p: $SERVER_NAS\\public /yes"

if [ "$GROUP" = administrateurs ]; then

write "NET USE k: $SERVER_NAS\\administrateurs /yes"

fi

#if [ "$USER" = administrateur ]; then

# write "NET USE y: $SERVER_NAS\\admins /yes"

#fi

write "regedit /s $SERVER_NAS\\netlogon\\MyDocs.reg"

# if you need a pause

#write "PAUSE"

/usr/local/sbin/mkhomedir 

#/bin/bash

homesdir="/home/prives"

partition="/home"

if [ $1 != administrateur ]; then/usr/sbin/setquota -p quotauser $1 $partition

Page 95 / 97

Page 96: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 96/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

fi

test ! -d $homesdir/$1 && mkdir -p $homesdir/$1 && chmod 700 $homesdir/$1 && chown $1:$2

$homesdir/$1

/home/netlogon/MyDocs.reg 

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]

"Personal"="H:\\"

"My Pictures"="H:\\Mes images"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]"Personal"="H:\\"

"My Pictures"="H:\\Mes images"

Page 96 / 97

Page 97: Documentation Technique Samba

5/8/2018 Documentation Technique Samba - slidepdf.com

http://slidepdf.com/reader/full/documentation-technique-samba 97/97

 

  _______________Rapport d'Installation Samba 3 PDC / LDAP / CUPS

Liens Bibliographie

Général :

• Le site Samba - http://www.samba.org

• Le site Openldap - http://www.openldap.org

• Le site Cups - http://www.cups.org

• Linux Printing - http://www.linuxprinting.org

Howtos :

• Samba HOWTO Collection : http://us1.samba.org/samba/docs/man

• Using Samba, 2nd Edition (O'Reilly) : http://us1.samba.org/samba/docs/using_samba/toc.html

Listes de diffusion :

• Listes Samba officielles : http: //lists.samba.org/ 

• Listes Samba officielles – Archives : http://us1.samba.org/samba/archives.html

• Liste Samba-FR : http://listes.ujf-grenoble.fr/wws/info/samba-fr

Page 97 / 97