TP Samba / Jean Gourdin

TP SAMBA



TP1 1er test


TP2 mise en oeuvre rapide d'un serveur

  1. 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 = serveurx
    - nom du groupe de travail : workgroup = fcticex, où x= num. machine du serveur Samba
    (ATTENTION ! bien utiliser des noms différents d'un groupe à l'autre) Conseils :
    - Faites une sauvegarde du fichier de configuration d'origine /etc/smb.conf en le copiant sous le nom /etc/smb.old
    - A chaque modification du fichier de configuration, relancer le service avec service smb restart (et ne pas oublier de "rafraichir" le voisinage réseau)
  2. Configuration du serveur
    Editer le fichier /etc/smb.conf. Y porter les modifications pour avoir :
    [global]
       workgroup = fcticex
       netbios name = serveurx
       security=user
       hosts allow = 172.16.0.  127.
       encrypt passwords = yes
       smb passwd file = /etc/samba/smbpasswd
    
  3. Tester la syntaxe du fichier /etc/smb.conf
    Lancer l'utilitaire testparm pour vérifier la syntaxe du fichier /etc/smb.conf et éventuellement déceler des fautes de saisie.
  4. Station cliente
    - Modifiez le paramétrage de votre station
    - Après redémarrage, pouvez-vous vous connecter au serveur ?
    - Parcourez votre répertoire personnel
    - Pouvez vous y déposer un fichier ?
    - Retouner dans smb.conf dans la section [homes] et permettre l'écriture :
    writable = yes
    - redémarrer Samba; et maintenant ?

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

TP3 Linux client de Windows

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


TP4 partager des périphériques

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

  2. Partager le lecteur de cdrom


TP5 Partager un répertoire réservé à un groupe

Il s'agit de mettre en oeuvre le partage [stagiaires]
Voici un plan de travail :
  1. Créer le groupe stagiaires. Y placer quelques comptes stagex/stgx
  2. Créer le répertoire partagé, par exemple /home/stagiaires
  3. Accorder les droits de propriété de groupe de ce répertoire au groupe stagiaires
  4. Et les bonnes permissions : 1770 (pourquoi ?)
  5. Créer la section du partage [stagiaires] avec les droits d'accès et d'écriture cohérents
    [stagiaire]
    comment =Partage réservé au groupe des stagiaires
    path = /home/stagiaires
    # liste des utilisateurs et des groupes autorisés 
    valid users = @stagiaires
    # 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 mode = 0660
    create directory = 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 = stagiaires
    
  6. Tester complètement sur la station, sous l'identité de plusieurs utilisateurs, faisant ou non partie du groupe. Conclusion : ce partage est-il satisfaisant ?

TP6 Configurer Samba en contrôleur principal de domaine

Il s'agit de mettre en oeuvre le paramétrage du serveur Samba qui lui permet de jouer le role d'un contrôleur de domaine NT
  1. 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 NT, ce qui permet une connexion beaucoup plus fiable. On peut également mettre en place des scripts de connexion (logon scripts),

  2. Activer le service PDC pour votre domaine fcticex. 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
    
  3. Création du partage [netlogon]
    Ce partage est destiné à recevoir les logons. Il se situera dans le répertoire /home/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
    [netlogon]
    comment = Service de connexion réseau
    # répertoire où les scripts seront placés
    path = /home/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
    
  4. Paramétrer le client Windows
    Voisinage réseau / Propriétés
     Propriétés TCP/IP
     Client pour les réseaux Microsoft/Propriétés
     Cocher Validation de l'ouverture de session
     Ecrire le nom Workgroup, ici FCTICEx
      comme nom de Domaine Windows NT
     Reconnexion des lecteurs réseau : cocher Connexion rapide
     Et bien sûr ... redémarrer !
    
  5. Résultats et tests
    Vous constatez que la boite d'invite à la connexion est modifiée : le 3ème champ Domaine y est ajouté avec FCTICEx
    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 stagex. Observations : bureau, voisinage réseau ?

  6. Mise en oeuvre des scripts de connexion
  7. Samba accepte la mise en place de script de connexion Windows (c-à-d 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).
    1. Création du compte admin et du répertoire /home/netlogon
      useradd admin
      passwd admin
      smbpasswd -a admin
      mkdir /home/netlogon
      chown -R admin /home/netlogon
      chmod -R 755 /home/netlogon
      
    2. Ecriture d'un script type pour stagex
      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/netlogon/.
      Connectez vous comme admin sur la station.- Ecrivez un script nommé stagex.bat correspondant à des partages existants, que vous sauvegarderez dans votre répertoire personnel.
      Ensuite root sur le serveur le sauvegardera dans /home/netlogon
      # fichier /home/netlogon/stagex.bat
       net use H: \\serveur\homes
       net use L: \\serveur\logiciel
       net use P: \\serveur\public
       net use S: \\serveur\stagiaire
       cls
       echo ***************************************
       echo * Bienvenue sur le réseau Linux/Samba *
       echo ***************************************
       pause
      
    3. Scripts d'administration
      Dans les scripts d'admin, et de webadmin (voir TP 1), ajoutez respectivement :
      net use N: \\serveur\netlogon
      net use W: \\serveur\web
      
      On peut maintenant rendre le partage netlogon invisible (mettre : browseable=no)
    4. Testez complètement
      Les différents utilisateurs stagex, admin, webadmin se connectent sur le domaine et testent leur accessibilité aux différents partages (parcours, lecture et écriture).
      Est-ce satisfaisant ?