• Aucun résultat trouvé

TP associé au cours Samba

N/A
N/A
Protected

Academic year: 2022

Partager "TP associé au cours Samba"

Copied!
26
0
0

Texte intégral

(1)

TP associé au cours Samba

© Hervé Pierron Vialard

Tous droits réservés

M7 - Administration système serveurs

(2)

Table des matières

I - Sujet du TP 3

1. Mise en œuvre rapide d'un serveur SAMBA ... 3

2. Linux - Client de Windows ... 5

3. Partager un répertoire ... 7

4. Partager des périphériques ... 7

5. Partager un répertoire réservé à un groupe ... 8

6. Configurer Samba en tant que CPD (Contrôleur principal de domaine) ... 10

6.1. Activer le service PDC sur le serveur SAMBA ... 11

6.2. Paramétrer le client XP ... 12

6.3. Mise en œuvre de scripts de connexion ... 13

7. Stratégie de groupe ... 14

8. Installer des applicatifs réseaux ... 15

II - Annexes du TP 16

III - Améliorations possibles du TP 25

(3)

1. Mise en œuvre rapide d'un serveur SAMBA

Installer le serveur samba avec la commande aptitude install samba. Debconf vous pose la question suivante :

Nom de domaine ou de groupe de travail : WORKGROUP Vérifier son fonctionnement. Comment ?

Objectif

Il s'agit de constituer des groupes différents de façon à pouvoir expérimenter sur une machine serveur Linux/Samba et sur une machine cliente Windows. Pour éviter les conflits entre serveurs, on adoptera les notations suivantes :

ajoutez un nom netbios pour le serveur Samba : netbios name = votre nom nom du groupe de travail : workgroup = T2SI

Attention

Bien utiliser des noms différents d'un stagiaire à l'autre...

Conseil

Faites une sauvegarde du fichier de configuration d'origine /etc/samba/smb.conf en le copiant sous le nom /etc/samba/smb.conf.origine

A chaque modification du fichier de configuration, relancer le service avec service samba ou (et ne pas oublier de "rafraichir" le voisinage restart /etc/init.d/samba restart

réseau).

Configuration du serveur

Éditer le fichier /etc/smb.conf. Y porter les modifications pour avoir :

[global]

workgroup = T2SI

netbios name = votre nom security = user

hosts allow = 172.16. 127.

encrypt passwords = yes

Sujet du TP

I

(4)

Tester la syntaxe du fichier /etc/samba/smb.conf

Lancer l'utilitaire testparm pour vérifier la syntaxe du fichier /etc/samba/smb.conf et éventuellement déceler des fautes de saisie.

Créer un compte Linux nommé test par exemple.

root@debian:~# adduser test

Ajout de l'utilisateur « test » ...

Ajout du nouveau groupe « test » (1001) ...

Ajout du nouvel utilisateur « test » (1001) avec le groupe

« test » ...

Création du répertoire personnel « /home/test »...

Copie des fichiers depuis « /etc/skel »...

Entrez le nouveau mot de passe UNIX : T2SI <--- Non affiché

Retapez le nouveau mot de passe UNIX : T2SI <---- Non affiché

passwd : le mot de passe a été mis à jour avec succès Modification des informations relatives à l'utilisateur test

Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée

Nom complet []: Comtpe de test N° de bureau []:

Téléphone professionnel []:

Téléphone personnel []:

Autre []:

Cette information est-elle correcte ? [O/n]O

Fermer la session root, et se connecter avec le compte test. Vérifier le contenu du répertoire personnel.

login as: test

[email protected]'s password:

Linux debian 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

test@debian:~$ ls -la total 24

drwxr-xr-x 2 test test 4096 17 août 20:23 . drwxr-xr-x 4 root root 4096 17 août 20:06 ..

-rw--- 1 test test 29 17 août 20:23 .bash_history -rw-r--r-- 1 test test 220 17 août 20:06 .bash_logout -rw-r--r-- 1 test test 3184 17 août 20:06 .bashrc -rw-r--r-- 1 test test 675 17 août 20:06 .profile

Fermer la session test et se reconnecter à l'aide du compte root. Créer le compte Samba de test.

root@debian:~# smbpasswd -a test New SMB password:

(5)

Sur la station cliente (XP)

Créer un compte test avec le mot de passe T2SI. Se connecter avec ce compte.

Après redémarrage :

Pouvez-vous vous connecter au serveur ? Parcourez votre répertoire personnel Pouvez vous y déposer un fichier ?

Retourner dans smb.conf dans la section [homes] et permettre l'écriture : writable = yes

Redémarrer Samba. Et maintenant ?

Suivre les connexions Samba sur votre serveur

Pour suivre attentivement les connexions des utilisateurs au serveur Samba, examinez tous les journaux (des serveurs smbd et nmbd et des stations), situés à /var/log/samba/.

La commande smbstatus fournit en temps réel des informations sur l'activité du serveur Samba, et de ses connexions qu'ils ouvre aux clients. Observer au fur et à mesure du travail, le suivi des connexions des clients Windows, avec les indications du nom de l'utilisateur, de la machine cliente et de son numéro IP, la date et l'heure.

root@debian:~# smbstatus Samba version 3.5.6

PID Username Group Machine

--- 2132 test test xp (::ffff:192.168.1.91)

Service pid machine Connected at

--- test 2132 xp Fri Aug 17 20:32:17 2012

No locked files

2. Linux - Client de Windows

Il s'agit d'inverser les rôles. On montera sur le client Linux, un répertoire partagé sous Windows.

Installer la partie client

aptitude install smbclient smbfs

(6)

Partager un dossier sous XP

Se connecter avec un compte administrateur.

Créer un dossier Dossier_partagé sur votre disque de données.

Créer dans ce dossier un répertoire travail. Dans ce dossier créer un fichier texte nommé qui contient la chaîne suivante : "Bienvenue - T2SI".

T2SI.txt

Partager le dossier Dossier_partagé avec comme nom de partage Partage_XP. Dans les

, mettre à .

autorisations de partage Contrôle total tout le monde

La commande smbmount permet de monter des répertoires distants d'une machine Windows, sur l'arborescence Linux, et ainsi d'accéder aux fichiers. Elle a été remplacée avantageusement par la commande mount.cifs.

• Pour monter la ressource //PCy/C sur le répertoire /mnt/disk du système de fichiers : On parcourt ensuite le répertoire /mnt/disk comme on le ferait sur un dossier local.

Supposons que C:\tmp soit un sous-répertoire du disque C: du serveur WorkGroup PCy C: est partagé en lecture seule sous le nom de partage C

C:\tmp est partagé en lecture/écriture sous le nom de partage C_tmp Monter les ressources :

smbmount //PC1/C /mnt/disk

smbmount //PC1/C_tmp /mnt/disk_tmp Tester :

Transférer des fichiers dans C:\tmp, en copiant des fichiers dans /mnt/disk_tmp

• Pour démonter la ressource Windows, utiliser subumount point-montage : smbumount /mnt/disk

root@debian:/# mount.cifs //XP/Partage_XP /mnt/XP -o user=test

Password: T2SI <--- non affiché

On parcourt ensuite le répertoire /mnt/XP comme on le ferait sur un dossier local. Parcourir le dossier partagé en utilisant la commande tree (l'installer le cas échéant - aptitude

).

install tree

root@debian:/# tree /mnt/XP /mnt/XP

travail T2SI.txt

1 directory, 1 file root@debian:/#

(7)

Conseil

S'il y a blocage, terminer la commande par Ctrl-C et se demander : Le client Samba connaît-il la machine nommée XP ?

Il peut être nécessaire que le nom de l'hôte (ici XP) ait été déclaré dans /etc/hosts

Il suffit de temps en temps que l'explorateur de réseau ait découvert la machine XP

On peut utiliser son adresse IP si on ne souhaite pas faire de modifications sur la machine serveur...

La ressource Partage_XP est-elle déclarée partagée sur le serveur Windows Vérifier les autorisations de partage sur le dossier partagé

Le client Samba respecte le type de partage Windows en lecture seule ou lecture/écriture. La sécurité Windows donne-t-elle un accès au dossier à l'utilisateur qui se connecte sur le partage.

3. Partager un répertoire

Objectifs

Il s'agit de paramétrer les partages de système de fichiers périphériques sur le serveur. Vérifier la visibilité et l'accessibilité aux partages pour les utilisateurs autorisés, le respect des restrictions en écriture ...

Pour l'écriture des sections correspondantes dans /etc/smb.conf, se reporter au cours.

Paramétrer ce partage sur le serveur

Paramétrer ce partage sur le serveur.

[logiciel]

comment = Installation de logiciels path = /home/samba/logiciel

guest ok = no browseable = yes create mask = 0600 directory mask = 0700 write list = root admin

Ce partage sera utilisé pour le déploiement de logiciels...

4. Partager des périphériques

Objectifs

Il s'agit de paramétrer les partages de système de fichiers périphériques sur le serveur. Vérifier la visibilité et l'accessibilité aux partages pour les utilisateurs autorisés, le respect des restrictions en écriture ...

Pour l'écriture des sections correspondantes dans /etc/smb.conf, se reporter au cours.

(8)

Partager le lecteur de CD-ROM

Paramétrer ce partage sur le serveur.

[cdrom]

# chemin d'accès au point de montage du CDROM path = /mnt/cdrom

# accessible à en lecture public = yes

# l'écriture sera forcément interdite writeable = no

Accéder à la ressource cdrom partagée. Que faut-il préalablement effectuer sur le serveur ? Si on dispose d'un CD de logiciels Windows, procéder à une installation pour tester l'utilisation du partage.

Complément

En cas d'absence de CD-ROM, il est possible de partager un dossier sur le serveur, d'y insérer un programme d'installation et de tester le nouveau partage en lançant une le fichier d'installation.

5. Partager un répertoire réservé à un groupe

Il s'agit de mettre en oeuvre le partage [stagiaires]. Voici un plan de travail :

Créer le groupe stagiaires. Y placer quelques comptes utilisateurs (les créer le cas échéant).

Créer le répertoire partagé, par exemple /home/samba/stagiaires

Accorder les droits de propriété de groupe de ce répertoire au groupe stagiaires. Comment ? Et les bonnes permissions : 1770 (pourquoi ?)

addgroup stagiaire

adduser stage1 (passe : T2SI) usermod -G stagiaire stage1 adduser stage2 (passe : T2SI) usermod -G stagiaire stage2 mkdir -p /home/samba/stagaire

chown -R root:stagiaire /home/samba/stagiaire smbpasswd -a stage1

New SMB password: T2SI

Retype new SMB password: T2SI Added user stage1.

smbpasswd -a stage2 New SMB password: T2SI

Retype new SMB password: T2SI Added user stage2.

Vérifier la bonne création du groupe.

car /etc/group

(9)

root@debian:/# cat /etc/group root:x:0:

daemon:x:1:

bin:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

...

stage1:x:1003:

stage2:x:1004:

stagiaire:x:1005:stage2,stage1 <--- ICI

Vérifier la bonne création des utilisateurs. En lisant le listing ci-dessus on s'aperçoit que le groupe stagiaire (gid=1005) contient les utilisateurs stage1 et stage2.

root@debian:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh ...

t2si:x:1000:1000:utilisateur T2SI,,,:/home/t2si:/bin/bash messagebus:x:104:106::/var/run/dbus:/bin/false

test:x:1001:1001:Comtpe de test,,,:/home/test:/bin/bash stage1:x:1002:1003:,,,:/home/stage1:/bin/bash <--- ICI stage2:x:1003:1004:,,,:/home/stage2:/bin/bash <--- ICI

Vérifier la création des dossiers.

root@debian:/# tree /home /home

samba

stagiaire stage1

stage2 t2si test

ainsi que les permissions :

root@debian:~# ls -la /home/samba total 12

drwxr-xr-x 3 root root 4096 17 août 21:25 . drwxr-xr-x 7 root root 4096 17 août 21:25 ..

drwxrwx--T 2 root root 4096 17 août 21:25 stagiaire

Créer la section du partage [stagiaires] avec les droits d'accès et d'écriture cohérents.

(10)

[stagiaire]

comment = Partage du groupe des stagiaires path = /home/samba/stagiaire

# liste des utilisateurs et des groupes autorisés valid users = @stagiaire

# on pourra y écrire (bien sûr ceux qui peuvent y accéder..)

writeable = yes

# permissions par défaut des fichiers et des rép.créés create mask = 0660

directory mask = 0770

# pour "forcer" la propriété de groupe : elle doit etre accordée au groupe

# des stagiaires (et non par défaut, au groupe primaire du créateur)

force group = stagiaire

Tester complètement sur la station, sous l'identité de plusieurs utilisateurs, faisant ou non partie du groupe. Conclusion : ce partage est-il satisfaisant ?

Oui : le partage stagiaire n'est inscriptible que par les membres du groupe.

Non : le partage est visible par TOUS les utilisateurs SAMBA

6. Configurer Samba en tant que CPD (Contrôleur principal de domaine)

Il s'agit de mettre en œuvre le paramétrage du serveur Samba qui lui permet de jouer le rôle d'un contrôleur de domaine Windows.

Définition

Un contrôleur principal de domaine (PDC) est un service chargé du contrôle de l'authentification des requêtes de connexion sur un réseau (comme d'habitude par nom de connexion (login) et mot de passe (password).

Samba peut assurer ce service partiellement en émulant les fonctionnalités d'un serveur Windows, ce qui permet une connexion beaucoup plus fiable. On peut également mettre en place des scripts de connexion (logon scripts).

(11)

6.1. Activer le service PDC sur le serveur SAMBA

2. Activer le service PDC pour votre domaineT2SI. Modifier ainsi la partie globale de smb.conf

[global]

...

# ce serveur est le controleur du domaine domain master =yes

# explorateur maitre de domaine local master =yes

# explorateur préféré de son groupe de travail preferred master =yes

# autoriser les scripts de connexion (logons) sur le domaine

domain logons = yes

# pour fixer le nom des scripts de connexion

# %U est le paramétre Netbios du nom de login logon script = %U.bat

# autre choix possible, pour permettre des scripts communs à un groupe

# logon script = script.bat

Création du partage netlogon

Ce partage est destiné à recevoir les logons. Il se situera dans le répertoire /home/saba/netlogon.

On prévoit qu'un utilisateur privilégié admin/admin sera créé pour gérer ces scripts. Ainsi le répertoire /home/netlogon/ sera accessible en lecture et en parcours pour tous mais seulement en écriture pour admin.

mkdir -p /home/samba/netlogon chmod777 /home/samba/netlogon

[netlogon]

comment = Service de connexion réseau

# répertoire où les scripts seront placés path = /home/samba/netlogon

# paramétrage pour une statégie de groupe path = /home/netlogon/%g

# ensuite ce partage sera rendu invisible browseable = no

# en lecture seule, sauf pour admin write list = admin

(12)

Attention

Seul l'utilisateur peut écrire dans netlogon. Encore faut-il qu'il aie une existence.

root@debian:~# adduser admin

Ajout de l'utilisateur « admin » ...

Ajout du nouveau groupe « admin » (1006) ...

Ajout du nouvel utilisateur « admin » (1004) avec le groupe « admin » ...

Création du répertoire personnel « /home/admin »...

Copie des fichiers depuis « /etc/skel »...

Entrez le nouveau mot de passe UNIX : T2SI Retapez le nouveau mot de passe UNIX : T2SI

Modification des informations relatives à l'utilisateur admin

Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée

Nom complet []:

N° de bureau []:

Téléphone professionnel []:

Téléphone personnel []:

Autre []:

Cette information est-elle correcte ? [O/n]

root@debian:~# smbpassd -a admin

-bash: smbpassd : commande introuvable root@debian:~# smbpasswd -a admin New SMB password:

Retype new SMB password:

Added user admin.

6.2. Paramétrer le client XP

Attention : Création du compte machine dans la base locale Linux/Samba

Avant de faire la jonction au domaine, il convient de créer le compte de machine.

On va créer un groupe de machines.

groupadd machines

Puis à chaque machine qu'on souhaite intégrer, (exemple  : une machine appelée XP) il faut créer le compte Linux. Par convention les machines prennent le signe comme suffixe.$

useradd -g machines -d /dev/null -s /bin/false XP$

puis samba.

smbpasswd -a -m XP$

Addes user XP.

(13)

Jonction au domaine

Poste de travail / Clic droit /Propriétés Nom de ordinateur

Bouton Modifier Cocher Domaine

Ecrire le nom de domaine, ici T2SI OK

Renseigner le login (root) et mot de passe (T2SI) - C'est l'administrateur du serveur qui fait la jonction...

Et bien sûr ... redémarrer !

Résultats et tests

Vous constatez que la boite d'invite à la connexion est modifiée : le champ Domaine y est ajouté avec T2SI.

A chaque demande de connexion, nom et mot de passe valides sont exigés sur le contrôleur du domaine indiqué, sinon la connexion au réseau est refusée.

Se connecter sous le compte stage1.

Observations : bureau, voisinage réseau ?

6.3. Mise en œuvre de scripts de connexion

Samba accepte la mise en place de script de connexion Windows (c'est-à-dire les fichiers de commande .bat) liés à la connexion d'un utilisateur, et renvoie le fichier correspondant sur la station Windows, afin que celle-ci l'exécute.

Ce mécanisme permet donc d'adapter complétement et dynamiquement la configuration du poste client au profil de l'utilisateur (ou de son groupe).

Nous avons déjà créé le compte admin, ainsi que le dossier netlogon...

Écriture d'un script pour l'utilisateur stage1

Le but est d'automatiser certaines tâches comme la connexion de lecteurs réseaux....

Attention

Il s'agit d'un fichier "batch" qui va s'exécuter sur la station Windows juste après l'authentification. Il doit donc être écrit avec un éditeur de texte utilitaire Windows, du genre NotePad, sur la station, puis ensuite enregistré sur le serveur dans le dossier netlogon, c'est-à-dire dans /home/samba/netlogon/.

(14)

Connectez vous comme admin sur la station XP.

Écrivez un script nommé stage1.bat correspondant à des partages existants, que vous sauvegarderez dans votre répertoire personnel (/home/admin/).

Ensuite root sur le serveur le sauvegardera dans /home/samba/netlogon.

rem fichier /home/samba/netlogon/stage1.bat net use H: \\debian\homes /PERSISTENT:NO net use L: \\debian\logiciel /PERSISTENT:NO net use S: \\debian\stagiaire /PERSISTENT:NO cls

echo ***************************************

echo * Bienvenue sur le réseau Linux/Samba * echo ***************************************

pause

7. Stratégie de groupe

Il s'agit ici d'expérimenter une autre "stratégie" de connexion : à la connexion, le script ne sera plus personnel, le script qui s'exécutera et donc le paramétrage du client qui en résultera, seront fonctions de son groupe d'appartenance primaire.

Pour cela il suffit de paramétrer smb.conf de façon à ce que le script exécuté soit , où le variable netbios sera remplacée par le nom du

/home/samba/netlogon/%g/script.bat %g

groupe primaire de l'utilisateur. Finalement on aura besoin d'un seul script portant le même nom, script.bat, à placer dans des sous-répertoires de /home/samba/netlogon, qui doivent porter le nom des groupes.

3. Créer 3 groupes profs, élèves, admins avec quelques comptes les ayant comme groupe primaire :

groupadd profs

adduser prof1 -g profs passwd prof1

smbpasswd -a prof1

Créer les 3 sous-répertoires profs, élèves et admins dans /home/samba/netlogon/

cd /home/samba/netlogon mkdir profs eleves admins chmod 644 profs eleves admins

Créer 3 partages dans /home, portant les mêmes noms que les groupes auxquels ils doivent être réservés. Accorder les propriétés de groupe convenables.

cd /home

mkdir profs eleves admins chgrp profs profs

Écrire les fichiers script.bat pour chaque groupe.

(15)

8. Installer des applicatifs réseaux

root a créé un utilisateur admin T2SI/ chargé d'installer les applications sur le serveur, et de la gestion des scripts de connexion.

Appelez le partage [logiciels]. Il est situé dans /home/samba/logiciel. Donnez alors la propriété de /home/samba/logiciel à admin.

chgrp -R admin /home/samba/logiciel

chmod -R 775 chgrp -R /home/samba/logiciel

Paramétrer ce partage :

[logiciel]

comment = Installation de logiciels path = /home/samba/logiciel

guest ok = no browseable = yes create mask = 0600 directory mask = 0700 write list = root admin guest ok = yes

Installer winscp dans /home/samba/logiciel

Il s'agit ici d'installer winscp dans /home/samba/logiciel/winscp. admin crée sur la station le dossier winscp dans L:

il y copie le fichier auto décompactable à partir de l'emplacement d'origine il procède à l'installation dans L:\winscp

Il crée un raccourci sur le bureau de façon à ce que les paramètres personnels se trouvent dans le répertoire personnel H: de l'utilisateur

cible : L:\winscp\winscp.exe H:\winscp démarrer en L:\winscp

root crée le sous répertoire /etc/skel/winscp, pour que le dossier H:\winscp soit généré automatiquement à la création d'un nouvel utilisateur.

(16)

Petite liste des paramètres et des options les plus utilisées

Cette annexe donne un extrait de la liste des options de Samba.

Option Valeur par défaut

browsable = <yes/no> yes

Permet d'annoncer un partage dans la liste d'exploration.

comment = <texte> vide

Définit le commentaire à côté du partage dans le résultat fournit par net view ou dans une fenêtre de répertoires Windows.

[global] config file = chemin d'accès vide

Sélectionne un fichier de configuration Samba supplémentaire à utiliser à la place du fichier de configuration courant.

default case = <LOWER/UPPER> LOWER

Définit la casse des nouveaux noms de fichiers. LOWER signifie que la casse est mixte, UPPER la force en majuscules.

delete veto file = <no/yes> no

Autorise les demandes de suppression d'un répertoire contenant des fichiers ou sous-répertoires non visibles pour l'utilisateur à cause d'une option veto files. Si elle est égale à no, le répertoire ne sera pas supprimé et contiendra toujours des fichiers invisibles.

[global] dns proxy = <yes/no> yes

Si elle est égale à yes, alors que wins server = yes, recherche les noms d'hôtes dans le DNS quand ils sont introuvables à l'aide de WINS.

[global] domain master = <yes/no> no

Transforme l'ordinateur en collecteur de liste d'exploration principale pour l'ensemble du groupe de travail ou du domaine.

[global] encrypt passwords = <yes/no> no

Utilise le chiffrement des mots de passe Windows. Requiert un fichier smbpasswd sur le serveur Samba.

Sous debian squeeze, il s'agit de /var/lib/samba/passdb.tdb follow symlinks = <yes/no> yes

Si l'option est égale à yes, Samba suit les liens symboliques d'un ou de plusieurs partages de

Annexes du TP

II

(17)

Définit le nom du compte Unix sans privilèges utilisé pour des tâches comme l'impression ou l'accès à des partages ayant pour option guest ok.

guest ok = <yes/no> no

Si elle est égale à yes, aucun mot de passe n'est requis pour ce partage. Synonyme de public.

hide dot files = <yes/no> yes

Associe l'attribut "caché" de DOS/Windows aux fichiers cachés de Unix, c'est-à-dire commençant par un point.

hide files = <lite séparée par des / > vide

Liste des noms de fichiers ou de réperoires auxquels l'attribut "caché" de DOS doit être associé. Les caractères génériques ? et * ainsi que les varaibles sont autorisés.

hosts allow = <liste d'hôtes> vide

Synonyme de allow hosts. Dresse la liste des machines autorisées à accéder à un ou plusieurs partages. Si la liste est vide et que l'option hosts deny n'est pas définie, toutes les machines peuvent accéder aux partages.

hosts deny = <liste d'hôtes> vide

Synonyme de deny hosts. Dresse la liste des machines n'ayant pas le droit d'établir des connexions ou d'accéder à des partages.

include = <chemin absolu> vide

Inclut le fichier indiqué à l'endroit où son nom figure dans le fichier smb.conf. Cette fonction n'interprète pas les variables %u (utilisateur), %P (répertoire racine du partage courant) et %S (nom du partage courant), car elle ne sont pas encore définies au moment de la lecture du fichier.

invalid users= <liste d'utilisateurs> vide

Liste d'utilisateurs n'étant pas autorisés à accéder à un ou plusieurs partages.

[global] load printers = <yes/no> yes

Charge tous les noms d'imprimantes du fichier système des imprimantes dans la liste d'exploration. Reprend les options de configuration de la section [printers].

local master= <yes/no> yes

Postule à l'élection d'explorateur local principal. Voir domain master et os level. [global] logon home = <chemin d'accès

Windows>

\\%N\%U

Définit le répertoire personnel d'un utilisateur Windows. Autorise l'exécution de la commande net use

depuis l'invite système.

H: /HOME

[global] message command=</chemin d'accès absolu/commande>

vide

Commande du serveur à exécuter lors de la réception d'un message WinPopup émanant d'un client. Ajoutez le suffixe au nom de la commande pour qu'un accusé de réception soit émis&

(18)

netbios name = <nom d'hôte> nom DNS de l'hôte

Définit le nom NetBIOS identifiant un serveur SAmba, ou le nom principal si des alias NetBIOS existent.

[global] os level = <nombre> 20

Définit le poids d'un serveur lors de l'élection d'un explorateur principal. Utilisée conjointement avec les options domain master ou local master. voir annexe (élection explorateur principal)

[global] password server = <nom NetBIOS> vide

Liste des serverus SMB validant les mots de passe. Utilisé avec un serveur de mot de passe Windows (PDC ou BDC) et l'option security = server ou security = domain. Attention, un serveur de mot de passe Windows doit accepter les connexions venant d'un serveur Samba.

path = <chemin d'accès> variable

Définit le chemin d'accès au répertoire fourni par un partage de fichiers ou utilisé par un partage d'imprimantes. Dans le cas du partage [homes], désigne automatiquement le répertoire personnel

de l'utilisateur, sinon pointe par défaut sur /tmp. Accepte les varaibles %u (utilisateur) et %m (machine).

[global] preferred master = <yes/no> no

Si elle est positionnée à yes, Samba est explorateur préféré lors de l'élection de l'explorateur principal qu'il déclenche à son démarrage.

preserved case = <yes/no> no

Si elle est égale à yes, cette option conserve la casse des noms de fichiers envoyés par le client.

Dans le cas contraire, convertit les noms de fichiers dans la casse spécifiée par l'option .

default case

print ok = <yes/no> no

Synonyme de printable = yes.

printable = <yes/no> no

Définit un partage comme service d'impression. Requis pour toutes les imprimantes.

[global] printcap name = <chemin d'accès> /etc/printcap

Définit le chemain d'accès au fichier de définition des imprimantes sur le système Unix, et utilisé par le partage [printers].

printer = <nom> lp

Définit le nom d'imprimante Unix. Synonyme de printer name. printer driver = <nom du pilote de

l'imprimante>

vide

Définit la chaîne à envoyer à Windows lorsqu'il demande quel pilote employer pour préparer des fichiers à soumettre à un partage d'imprimante. Attention, la casse est différenciée dans cette option et le nom du pilote doit être exactement celui utilisé par Windows.

printing = <bsd,sysv,hpux,aix,qnx,plp,lprng> bsd

Redéfinition du style d'impression utilisé, en remplacement du style d'impression prédéfini à la

(19)

Si elle est égale à yes, le partage ne requiert pas de mot de passe. Synonyme de guest ok. read list = <liste délimitée par des virgules> vide

Liste d'utilisateurs ayant accès en lecture seule à un partage en lecture-écriture.

read only = <yes/no> no

Définit un partage en lecture seule. Antonyme de writable et de write ok.

revalidate = <yes/no> no

Si elle est égale à yes, les utilisateurs doivent entrer leur mot de passe à chaque accès au partage, même après une authentification réussie.

[global] security = <share, user, server, domain>

user

Définit la politique de sécurité des mots de passe. Si security = share, chaque service possède son propre mot de passe, partagé par tous les utilisateurs.

Si security = user, chaque utilisateur possède un compte et un mot de passe Unix.

Si security = server, un server se charge de l'authentification de l'utilisateur, qui possède ses propres compte et mot de passe.

Si security = domain, le processus d'authentification est de type domaine. Voir les options password server et encrypt passwords

[global] server string = <texte> %v

Définit le nom figurant à côté d'un serveur dans la liste d'exploration. Accepte les variables %v (numéro de version de Smaba) et %h (nom d'hôte).

[global] smb passwd ?le = <chemin> /var/lib/samba/pssdb.tdb

Redéfinit le chemin d'accès du fichier des mots de passe, fixé lors de la compilation, si .

encrypt passwords = yes

short preserve case= <yes/no> no

Si elle est égale à yes, conserve les noms de fichier au format 8.3 dans la casse utilisée par le client. Dans le cas contraire, les noms 8.3 sont convertis vers la casse par défaut (option

).

default case

valid users = <liste d'utilisateurs> vide Liste des utilisateurs autorisés à se connecter à un partage.

veto files = <liste de noms de fichiers séparés par />

vide

Liste des fichiers que le client ne peut voir lors de l'exploration d'un répertoire. Voir aussi .

delete veto files

volume = <nom de partage> vide

Définit l'étiquette de volume d'un partage de disque ; utile pour les CD-ROM.

[global] wins proxy = <yes/no> no

Si elle est égale à yes, nmbd relaie les requêtes de résolution émanent de clients anciens utilisant des diffusions vers un serveur WINS. Le seveur WINS réside généralement sur un

(20)

Si elle est égale à yes, Samba fait office de serveur WINS. L'option wins server ne doit pas être définie si wins support = yes.

[global] workgroup= <nom> WORKGROUP

Définit le groupe de travail servi par Samba. Remplace la valeur définie lors de la compilation.

Un nom différent de WORKGROUP est vivement conseillé. Par convention, on utilise un nom écrit en majuscules.

writable = <yes/no> yes

Antonyme de read only et synonyme de write ok. write list = <liste délimitée par de virgules> vide

Liste d'utilisateurs ayant accès en lecture-écriture à un partage en lecture seule. Voir aussi .

read list

write ok = <yes/no> yes

Synonyme de writable

Extrait (non exhaustif) de la liste des options de Samba.

Poids des systèmes d'exploitation lors d'une élection

Système d'exploitation Valeur

Valeur maximale 255

Windows 7 21

Windows 2008 Server 36

Windows Vista 20

Windows 2003 Server 35

Windows XP 19

Windows 2000 Server 34

Windows 2000 Workstation 18

Windows NT 4 33

Windows NT 3.51 32

Windows NT 4 Workstation 17

Windows NT 3.51 Workstation 16

Windows 98, 98 ME 2

Windows 3.1, Windows 95 1

Poids des systèmes d'exploitation lors d'une élection

(21)

Variables de Samba

Variable Définition

Variables client

%a Architecture du client (Samba,

WinNT,Win95,...)

%I Adresse IP du client

%m Nom NetBIOS du client

%M Nom DNS du client

Variables utilisateur

%u Nom d'utilisateur Unix actuel

%U Nom d'utilisateur client demandé

%g Groupe principal de %u

%G Groupe principal de %U

%H Répertoire de base de %u

Variables de partage

%p Chemin d'accès du montage automiatique

associé au répertoire racine du partage (si différent de %P)

%P Répertoire racine du partage en cours

%S Nom du partage en cours

Variables serveur

%d ID de processus du serveur en cours

%h Nom d'hôte du serveur Samba

%L Nom NetBIOS du serveur Samba

%N Serveur de répertoire de base établi à partir de

la table d'automount

%v Version de Samba

Autres variables

%R Niveau de protocole SMB pris en compte dans

la négociation

%T Date et heure courantes

Variables de Samba

(22)

# Change this to the workgroup/NT-domain name your Samba server will part of

workgroup = T2SI netbios name = debian

# server string is the equivalent of the NT Description field

server string = %h server

# Windows Internet Name Serving Support Section:

# WINS Support - Tells the NMBD component of Samba to enable its WINS Server

# wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client

# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both

; wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.

dns proxy = no

# What naming service and in what order should we use to resolve host names

# to IP addresses

; name resolve order = lmhosts host wins bcast

#### Networking ####

# The specific set of interfaces / networks to bind to

# This can be either the interface name or an IP address/netmask;

# interface names are normally preferred

interfaces = 192.168.1.0/24 172.16.0.0/16 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the

# 'interfaces' option above to use this.

# It is recommended that you enable this feature if your Samba machine is

# not protected by a firewall or is a firewall itself.

However, this

# option cannot handle dynamic or non-broadcast interfaces correctly.

; bind interfaces only = yes

#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine

# that connects

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

# Cap the size of the individual log files (in KiB).

max log size = 1000

# If you want Samba to only log through syslog then set the following

# parameter to 'yes'.

# syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything

# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log

# through syslog you should set the following parameter to something higher.

syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace

panic action = /usr/share/samba/panic-action %d

####### Authentication #######

# "security = user" is always a good idea. This will

(23)

# in the samba-doc package for details.

# security = user

# You may wish to use password encryption. See the section on

# 'encrypt passwords' in the smb.conf(5) manpage before enabling.

encrypt passwords = true

# If you are using encrypted passwords, Samba will need to know what

# password database type you are using.

passdb backend = tdbsam obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix

# password with the SMB password when the encrypted SMB password in the

# passdb is changed.

unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following

# parameters must be set (thanks to Ian Kahan

<<[email protected]> for

# sending the correct chat script for the passwd program in Debian Sarge).

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n

*Retype\snew\s*\spassword:* %n\n

*password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes

# when requested by an SMB client instead of the program listed in

# 'passwd program'. The default is 'no'.

pam password change = yes

########## Domains ###########

# Is this machine able to authenticate users. Both PDC and BDC

# must have this setting enabled. If you are the BDC you must

# change the 'domain master' setting to no

#

domain master = yes local master = yes preferred master = yes domain logons = yes

#

# The following setting only takes effect if 'domain logons' is set

# It specifies the script to run during logon. The script must be stored

# in the [netlogon] share

# NOTE: Must be store in 'DOS' file format convention logon script = \\%L\netlogon\stage1.bat

########## Printing ##########

# If you want to automatically load your printer list rather

# than setting them up individually then you'll need this

# load printers = yes

(24)

; printcap name = cups

#======================= Share Definitions

=======================

[homes]

comment = Home Directories browseable = no

read only = no writeable = yes create mask = 0700 directory mask = 0700 valid users = %S [printers]

comment = All Printers browseable = no

path = /var/spool/samba printable = yes

guest ok = no read only = yes create mask = 0700

# Windows clients look for this share name as a source of downloadable

# printer drivers [print$]

comment = Printer Drivers path = /var/lib/samba/printers browseable = yes

read only = yes guest ok = no [stagiaire]

comment = Partage du groupe des stagiaires path = /home/samba/stagiaire

# liste des utilisateurs et des groupes autorisés valid users = @stagiaire

# on pourra y écrire (bien sûr ceux qui peuvent y accéder..)

writeable = yes

# permissions par défaut des fichiers et des rép.créés create mask = 0660

directory mask = 0770

# pour "forcer" la propriété de groupe : elle doit etre accordée au groupe

# des stagiaires (et non par défaut, au groupe primaire du créateur)

force group = stagiaire [logiciel]

comment = Installation de logiciels path = /home/samba/logiciel

guest ok = no browseable = yes create mask = 0600 directory mask = 0700 write list = root admin guest ok = yes

[netlogon]

comment = Service de connexion réseau

# répertoire où les scripts seront placés path = /home/samba/netlogon

# paramétrage pour une statégie de groupe path = /home/netlogon/%g

browseable = yes

# en lecture seule, sauf pour admin write list = admin root

(25)

Rendre les dossiers utilisateurs invisibles

Sous Windows, pour cacher un répertoire partagé, il suffit de lui accoler le signe ' '.$

Mise en place d'un partage caché

Ainsi, il ne sera plus visible sur le réseau. On pourra y accéder par la commande (entre autres) :

Améliorations

possibles du TP III

(26)

Résultat de la vue d'un partage caché

Intégrer un serveur Samba à un domaine Active Directory

Ce serveur deviendrait un serveur membre. Il faut pour cela, utiliser : le protocole Kerberos,

le paquet winbind

Gestion des profils errants, obligatoires, locaux avec Samba

Il s'agit de créer un partage [profiles] en dehors du dossier personnel de l'utilisateur et lui donner les droits appropriés.

Gestion de l'encodage Windows (ANSI, DOS) et Linux (UTF-8)

Les encodages entre les deux systèmes d'exploitation sont différents. Ainsi, la gestion des caractères accentués est prolématique...

Installation d'un programme complexe par déploiement

Il est possible de déployer OpenOffice pour l'ensemble des utilisateurs par un script d'administration.

Jusqu'à la version 9.2, il existait une option -net qui permettait ce déploiement.

Elle n'existe plus. Il faut donc procéder "à la main" avec des fichiers de réponses, pour anticiper la validation des questions posées pendant l'installation.

Attention

Notez que l'installation du JRE Java (runtime client Java, ou machine Java) est requis au préalable.

Références

Documents relatifs

Si samba est lancé avec ce fichier de configuration, les postes windows du réseau local pourront voir dans le voisinage réseau qu’un ordinateur nommé (le nom de votre machine

Ce protocole permet de mettre à disposition des répertoires du système de fichiers et des imprimantes pour des clients réseaux du type Windows®, Linux®, OS/2®, etc.. SaMBa

Créer un serveur de fichier Samba, partageable depuis tout poste windows sans authentification (sans login utilisateur et mot de passe). P3.1 - Mettre en place un partage de

Vous devriez voir le serveur Samba dans le Voisinage réseau et/ou dans votre groupe de travail. Lorsque vous cliquez sur l'icône du serveur ou de l'un de ses partages, un

Les paquets supplémentaires suivants seront installés : cifs-utils. Les NOUVEAUX paquets suivants seront installés :

Apres avoir rentre notre ip nous pouvons lancer la connexion qui nous envoie sur une autre page de sécurite ou il faudra rentre le mot de passe du poste auquel , nous voullons

Hard disks will always bottleneck at a specific number of I/O operations per sec- ond: for example, each 7200 RPM SCSI disk is capable of performing 70 opera- tions per second, for

allowable values: fully-qualified Unix shell command default: varies Sets the command used to send a spooled file to the printer. Usually initialized to a default value by the