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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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