Samba
Samba
Samba
Sommaire :
0-Situation et objectifs.
5-Validations.
0-Situation et objectifs :
Dans cette partie, nous allons mettre en place tout le nécessaire pour
commencer la structuration de ce projet. Tout d'abord, il faut installer Samba
sur le serveur. Pour ce faire, il suffit juste de n'importe quel dossier du serveur
d'entrer la commande : apt-get install samba.
L'installation se lance, et quand tous les paquets ont été récupérés Samba est
utilisable.
Ensuite, il faut créer l'environnement dans lequel nous pourrons gérer les
différents droits. Ici, nous allons créer un sous-dossier « Adrar » dans le répertoire
« home ». Pour se faire, il suffit de se placer dans « /home » avec la commande cd
home puis de créer le répertoire principal « Adrar » avec la commande mkdir
/home/Adrar. Le dossier est créé. Dans celui-ci nous allons, créer 5 sous-dossiers
« Administration », « Formateurs », « ClasseA », « ClasseB » et « ClasseC » de la
même manière. (Il est possible de créer plusieurs dossiers en une seule ligne de
commande :
Nous avons donc mise en place l'arborescence dans laquelle nous allons pouvoir
travailler.
Nous procéderons en premier lieu par les groupes, auxquels nous assignerons
ensuite les différents utilisateurs.
A-Les groupes.
En tapant cat /etc/group on peut voir la liste de tous les groupes et ceux que
nous venons de créer sont les derniers (il manque Formateurs et Admin):
B-Les utilisateurs.
Maintenant créons les utilisateurs et affectons-les à leurs groupes. Tapez
useradd -m -g nom_du_groupe nom_utilisateur. (Le paramètre -g permet d'ajouter
l'utilisateur au groupe spécifié.)
Ce qui nous donne pour les élèves par exemple :
Cette partie va permettre de configurer le serveur Samba pour lier les utilisateurs a
Samba et rendre le dossier Adrar accessible aux utilisateurs concernés ainsi que de lui
attribuer plusieurs propriétés.
Tout d'abord nous devons lier les utilisateurs à Samba en leur assignant un mot de
passe. Utilisez la commande : smbpasswd -a nom_user (l'option -a est utilisée car on
indique le nom d'utilisateur ensuite). Faites cette opération pour chaque utilisateur.
La commande vous demande d'entrer un mot de passe et de le confirmer :
Après avoir enregistrer le document (ctrl+o), il faut redémarrer le service Samba grâce a
la commande /etc/init.d/samba restart.
Dans la partie qui va suivre, nous allons mettre en place les différents droits, les
groupes propriétaires de chaque dossier et ajouter une exception pour le dossier
Formateur grâce aux ACL.
La suite de lettre drwxr-xr-t correspond aux différents droits, elle se compte 3 lettres
par 3. La première triade correspond à l'utilisateur root, la deuxième au groupe
propriétaire et la troisième à tous les autres utilisateurs. Or on peut voir qu'aucun
groupe propriétaire n'est défini. (le deuxième root indique qu'il n'y en pas). Nous allons
donc nous occuper de cela, avec la commande chgrp nom_groupe nom_dossier
permet de définir le groupe en question comme groupe propriétaire du dossier
indiqué.
Nous allons donc entrer chgrp Formateur Formateurs,
chgrp Admin Administration,
chgrp ClasseA ClasseA,
chgrpClasseB ClasseB
chgrp ClasseB ClasseB
Nous allons donc vous lister et expliquer les droits à appliquer aux dossiers :
Pour le dossier parent Adrar, nous voulons que le propriétaire (root) ait tous les droits
(donc 7), pareil pour le groupe (root), mais nous voulons seulement les droits de lecture
et d'exécution pour les autres (donc 5) pour éviter qu'un élève ne puisse rajouter un
dossier à la racine de notre partage.
Donc:
Pour ce qui est du dossier Administration on veut laisser tous les droits au propriétaire
et au goupe, mais n'en laisser aucun au public : chmod 770 Administration/
Pour chaque classe, nous voulons exactement les mêmes droits que pour
Administration :
chmod 770 ClasseX/
Et pour les Formateurs nous voulons des droits un peu différents puisque l'équipe
d'aministration doit pouvoir accéder au dossier en lecture. Nous allons donc devoir
gérer une exception avec les ACL (acces control list).
Tout d'abord on défini les droits comme pour les autres dossiers : chmod 770
Formateurs/
Ensuite il faut installer ce service donc : apt-get install acl nous le permet. (exactement
comme pour Samba au commencement du tutoriel).
Ensuite vous devez entrer la commande suivante : setfacl -dm g:Admin:r Formateurs/
(attention aux espaces qui sont importants.).
L'option -d permet d'appliquer cette exception aux futurs dossiers et fichiers créer dans
le répertoire choisi.
L'option m est obligatoire et précède le -d elle permet d'ajouter une instruction.
L'option g:Admin définit le groupe d'utilisateur qui aura l'exception et :r correspond a
read et autorise le droit de lecture au dossier Formateurs/ que l'on définit ensuite.
Pour vérifier que l'ACL est bien en place, on voit dans les droits que le -T devient -T+.
Nous en avons donc terminé avec les droits, pour valider les modifications, nous devons
redémarrer le service Samba grâce a la commande : /etc/init.d/samba restart
5-Validations.
Pour effectuer les vérifications des droits, nous allons utiliser un client windows 7. Il faut
donc monter le lecteur réseau qui permettra l'accès à notre serveur Samba. Nous
utiliserons un script batch qui permettra de le faire à chaque fois que l'on ouvre une
session. Dans la réalité il faudrait donc copier ce script sur toutes les machines de
l'établissement pour que ce soit effectif.
Sur le bureau, clic droit => Nouveau => Document texte, nommez le script_lecteur.bat.
Il faut ensuite l'éditer comme ceci :
La première ligne consiste à supprimer toutes les autres connexions des lecteurs.
NET USE * sélectionne tous les lecteurs.
/Delete /y permet de supprimer la connexion et de forcer la réponse à la confirmation.
Pour que le script se déclenche au démarrage nous allons le place dans le dossier
Démarrage :
Redémarrez ensuite votre pc pour vérifier que le script est actif. Lors du redémarrage,
on peut voir apparaître cette fenêtre qui nous propose de se connecter. Entrez les
identifiants du compte avec lequel vous voulez accéder au serveur. Le lecteur est donc
monté et on y accède avec les droits du compte associé.
ClasseA :
ClasseB :
ClasseC :
Ensuite, connectons nous en tant que le Formateur1 qui est formateur des classes A et
B:
Nous ne pouvons pas accéder au dossier Administration, comme voulu :
Nous ne pouvons pas accéder au dossier ClasseC dont nous ne sommes pas formateur :
En tant que Formateur1 nous avons accès au dossier Formateurs, essayons de modifier
puis de supprimer le fichier d'un de nos collègues :
Ce n'est pas possible ! Les droits concernant les formateurs sont donc bons ! Passons
aux élèves !
Ils ne doivent avoir accès qu'au dossier de leur classe et ne peuvent pas modifier ni
supprimer le fichier d'une autre personne. Ils peuvent seulement les ouvrir. On se
connecte en tant qu'élève A1 :