Jusqu'à présent le serveur Samba ne gérait que ses propres partages mais aucune authentification de machines.
Pour devenir contrôleur de domaine, c'est à dire l'équivalent d'un serveur Windows 2000/2003, il faut tout d'abord modifier la section globale du fichier smb.conf:
[global] workgroup = mondomaine //à remplacer par votre nom de domaine netbios name = nom_serveur // à remplacer par votre nom de serveur # paramètres samba logon drive = U: logon home = \\serveur\%U logon path = \\serveur\profiles\%U logon script = logon.cmd //ce script devra être créé et stocké dans le répertoire Netlogon # Controle de domaine os level = 65 domain logons = yes domain master = yes local master = yes preferred master = yes wins support = yes # Base de comptes passdb backend = tdbsam:/var/lib/samba/mypassdb.tdb, guest # server string is the equivalent of the NT Description field server string = %h server (Samba %v) wins support = yes # la suite de cette section est la même que dans le premier exemple
La section "Share definitions"
Il faut y créer des partages spécifiques "homes" qui contiendra les répertoires spécifiques des utilisateurs, "netlogon" qui contiendra les scripts de connexion exécutés par les machines clientes à chaque connexion d'un utilisateur, "profiles" qui permet de stocker de manière centralisée la configuration du bureau etc ... de chaque utilisateur du domaine.
#===================== Share Definitions =======================
[homes]
path = /data/samba/home/%u
comment = Home Directories
valid users = %S
guest ok = no
browseable = no
writable = yes
create mask = 0700
directory mask = 2700
[netlogon]
comment = Partage Netlogon
path = /data/samba/netlogon
guestok = no
readonly = yes
browseable = no
writable = no
valid users = @sambausers
create mask = 0777
directory mask = 0777
[profiles]
path = /data/samba/profiles
comment = Repertoires Profiles
guest ok = no
writable = yes
create mode = 0700
browsable = no
valid users = @sambausers
[banc2]
path = /home/banc2
public = no
valid users = @banc2
writable = yes
create mask = 0640
[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
Créer un groupe sambausers:
Ce groupe doit être créé avec le RID 513 pour être en conformité avec la terminologie Windows.
#groupadd -g 513 sambausers
Ajouter dans ce groupe les utilisateurs linux du domaine. Il faut également créér des comptes Samba pour chacun de ces utilisateurs grâce à la commande smbpasswd vue précédemment.
Ne pas oublier d'ajouter le compte "root" au groupe "sambausers", celui-ci sera le super-utilisateur samba.
#smbpasswd -a root MotDePasse
Créer le groupe sambamachines:
Ce groupe doit être créé avec le RID 515.
#groupadd -g 515 sambamachines
Les comptes machines du domaine doivent être créés avec un $ à la fin du nom netbios,voici un extrait du fichier "/etc/passwd" avec comme exemple 2 machines labo et postexp :
labo$:x:1003:515::/dev/null:/dev/null postexp$:x:1004:515::/dev/null:/dev/null
Créez également un compte Samba pour chaque machine:
#smbpasswd -a -m NomMachine (sans le $)
Création des 3 nouveaux répertoires partagés
#mkdir -p /data/samba/home #mkdir -p /data/samba/netlogon #mkdir -p /data/samba/profiles
Attribution des droits:
#chown root:sambausers /data/samba/home #chown root:sambausers /data/samba/netlogon #chown root:sambausers /data/samba/profiles
Extrait du fichier /etc/group
sambausers:x:513:root,bird sambamachines:x:515:labo$,postexp$
Exemple de script exécuté au démarrage logon.cmd
@echo off NET USE H: \\NomServeur\Nompartage @echo on