Description : Installation d un serveur SAMBA pour station 98 et 2000 Auteur : Nicolas AGIUS Date : 03/2003 Notes : Exemples pris sur RedHat 7.3 Contexte : Serveur de fichiers et d authentification pour un environnement scolaire ( prof + étudiant ) sous Windows 98 et 2000 [ Contrôleur de domaine principal et serveur de temps pour client Windows] Installation de SAMBA : Package nécessaire : ( CD 2 ) - samba-common-2.2.3a-6.i386.rpm - samba-2.2.3a-6.i386.rpm Installer ces packages avec la commande : rpm -ivh samba-common-2.2.3a-6.i386.rpm samba-2.2.3a-6.i386.rpm Le fichier principal de configuration de samba est /etc/samba/smb.conf. Regarder man smb.conf pour les détails des paramètres de ce fichier. Voici ce fichier dans la configuration qui nous intéresse : #======================= Global Settings ===================================== [global] time server = yes workgroup = IUT server string = Samba Server %v printcap name = /etc/printcap load printers = yes printing = lprng log file = /var/log/samba/%m.log max log size = 0 security = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd unix password sync = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* pam password change = yes username map = /etc/samba/smbusers obey pam restrictions = yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 bind interfaces only = yes interfaces = 192.168.1.1/24 127.0.0.1 hosts allow = 192.168.1.0/255.255.255.0 os level = 33 domain master = yes preferred master = yes domain logons = yes logon script = logon.bat logon path = \\%L\Profiles\%U wins support = yes dns proxy = no admin users = Administrateur
#============================ Share Definitions ============================== [homes] comment = Dossier personnel writable = yes valid users = %S create mask = 0600 directory mask = 0700 security mask = 0700 directory security mask = 0700 [netlogon] comment = Network Logon Service path = /home/samba/netlogon/%g guest ok = no writable = no share modes = no write list = Administrateur [Profiles] path = /home/samba/profiles guest ok = no create mask = 0700 directory mask = 0700 read only = no [printers] comment = All Printers path = /var/spool/samba guest ok = no writable = no printable = yes [public] comment = Dossier public path = /home/samba/public public = yes writable = yes printable = no hide dot files = no create mask = 0640 directory mask = 1750 security mask = 0777 directory security mask = 0777 Tester la syntaxe du fichier de configuration avec la commande testparm. Remarque : les imprimantes ne sont pas configurées. Configuration du système : Création des comptes LINUX : Les groupes :
Exécuter les commandes suivantes : groupadd etudiant groupadd enseignant groupadd machines Le groupe machines est utiliser pour enregistrer les clients de types Windows 2000 dans le domaine. Attention : pour la compatibilité Windows-Dos / Linux, il est préférable que les noms d utilisateur et de groupe ne dépassent pas 8 caractères. Les comptes utilisateur : Pour chaque utilisateurs, faites : adduser <nom_user> -g <groupe> <groupe>vaut soit etudiant soit enseignant. Les comptes machines : Pour chaque machines, faites : adduser <client_hostname>$ -g machines -s /bin/false -d /dev/null où <client_hostname> représente le nom netbios de la machine Windows 2000. Attention : n oublier pas le $ à la fin du nom. Création des répertoires utilisés par SAMBA : Exécuter les commandes suivantes : mkdir /home/samba mkdir /home/samba/profiles mkdir /home/samba/netlogon mkdir /home/samba/public chmod 1777 /home/samba/profiles chmod 1777 /home/samba/public Le répertoire profiles servira a stocker les données utilisateurs de Windows. Le répertoire NETLOGON contient les scripts de logon et les fichiers de stratégie POL. Le répertoire public sera la «zone libre» accessible à tous en lecture/écriture. Vous devez aussi créer un répertoire pour chaque groupe dans /home/samba/netlogon pour stocker les scripts et fichiers POL. mkdir /home/samba/netlogon/etudiant mkdir /home/samba/netlogon/enseignant Création des comptes SAMBA :
Lors de la première création de compte SAMBA vous devez initialiser la base de données des compte des SAMBA avec la commande : cat /etc/passwd mksmbpasswd.sh > /etc/samba/smbpasswd Le compte Administrateur : Ajouter la ligne suivante au fichier /etc/samba/smbusers : root = Administrateur Exécuter ensuite la commande : smbpasswd -a root et entrer le mot de passe de l administrateur du domaine. Attention : les mots de passe sont synchronisés de Windows vers Linux. Les mots de passe Linux seront donc identique a ceux de SAMBA dès leur premier changement depuis Windows. Les comptes utilisateurs : Pour chaque utilisateur dont le compte a été créé pour LINUX, faites : smbpasswd -a <nom_user> Les comptes machines : Pour chaque machine dont le compte a été créé pour LINUX, faites : smbpasswd -m -a <client-hostname>$ Attention : n oublier pas le $ à la fin du nom. Création des scripts de logon : Vous pouvez créer des scripts de logon pour chaque groupe en créant un fichier de nom logon.bat dans le répertoire /home/samba/netlogon/<nom_du_groupe>/. Ce fichier peut contenir les commandes DOS habituelles ( NET ). Exemple : fichier «/home/samba/netlogon/etudiant/logon.bat» NET TIME \\SRV-LINUX /SET /YES NET USE Y: \\SRV-LINUX\PUBLIC Remarque : Samba est configuré pour faire serveur de temps. Attention : ces fichiers doivent être créés par un éditeur de type MS-DOS ( notepad par exemple ), ceci à cause des différences de codages des retours chariots.
Mise en place des stratégies POL : Vous pouvez créer des stratégies POL pour chaque groupe en créant un fichier de nom ntconfig.pol dans le répertoire /home/samba/netlogon/<nom_du_groupe>/. Ce fichier doit être créer avec l utilitaire POLEDIT de windows. Maintenance de Samba : Après l installation, vous pouvez ajouter ou supprime des comptes : Ajout d une machine client Windows 2000 : adduser <client_hostname>$ -g machines -s /bin/false -d / dev/null smbpasswd -m -a <client-hostname>$ où <client_hostname> représente le nom netbios de la machine Windows 2000. Ajout d un utilisateur adduser <nom_user> -g <groupe> smbpasswd -a <nom_user> <groupe> doit être un groupe valide. Suppression d un utilisateur : Smbpasswd x <nom_user> Userdel r <nom_user> Vous pouvez maintenant lancer SAMBA en tapant service smb start. Faites chkconfig --level 3 smb on pour activer SAMBA automatiquement au démarrage du système.