48.2. Samba utilisé comme serveur de login

Dans les réseaux comportant essentiellement des clients Windows, il est généralement souhaitable de permettre uniquement aux utilisateurs disposant d'un compte et d'un mot de passe valides de s'enregistrer. Le serveur Samba offre cette possibilité. Dans un réseau basé sur Windows, cette tâche est assurée par un serveur Windows NT configuré en tant que contrôleur de domaine principal. Les lignes à ajouter à la section [global] du fichier smb.conf apparaissent dans l'Exemple 48.3, « Section Global dans smb.conf ».

Exemple 48.3. Section Global dans smb.conf

[global]
  workgroup = TUX-NET
  domain logons = Yes
  domain master = Yes

Si vous utilisez des mots de passe codés à des fins de vérification (paramètre par défaut dans les installations MS Windows 9x, MS Windows NT 4.0 du Service Pack 3 et tous les produits plus récents correctement mis à jour), le serveur Samba doit être capable de les gérer. C'est le rôle de la ligne encrypt passwords = yes dans la section [global] (option par défaut dans Samba version 3). Il est également nécessaire de préparer des comptes utilisateur et des mots de passe dans un format de codage adapté à Windows. Pour ce faire, utilisez la commande smbpasswd -a nom. Créez le compte de domaine des ordinateurs, requis par le concept de domaine Windows NT, à l'aide des commandes suivantes :

Exemple 48.4. Configuration d'un compte machine

useradd hostname\$
smbpasswd -a -m hostname

La commande useradd permet d'ajouter le symbole $. Si vous utilisez le paramètre -m , la commande smbpasswd insère automatiquement ce symbole. L'exemple de configuration fourni (/usr/share/doc/packages/Samba/examples/smb.conf.SuSE) contient les paramètres qui automatisent cette tâche.

Exemple 48.5. Configuration automatique d'un compte machine

				
add machine script = /usr/sbin/useradd -g nogroup -c "Compte machine NT" \
-s /bin/false %m\$

Pour être sûr que Samba exécute ce script correctement, choisissez un utilisateur Samba doté des autorisations administrateur requises. Pour ce faire, sélectionnez un utilisateur et ajoutez-le au groupe ntadmin. Une fois cette opération effectuée, vous pouvez assigner l'état Domain Admin à tous les utilisateurs appartenant à ce groupe Linux, à l'aide de la commande suivante :

net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin

Pour plus d'informations à ce sujet, consultez le chapitre 12 de l'ensemble HOWTO (Guides pratiques) de Samba, que vous trouverez dans le fichier /usr/share/doc/packages/samba/Samba-HOWTO-Collection.pdf.