Mettre en place un serveur Samba

Formation

À Paris

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Lieu

    Paris

Nous vous proposons des cours ouverts pour se former autrement, pour devenir acteur de votre vie. Nous vous aidons à prendre votre envol, mais ça ne s'arrête pas là. Notre volonté est de vous accompagner tout au long de votre vie, dans votre parcours professionnel.Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Les sites et dates disponibles

Lieu

Date de début

Paris ((75) Paris)
Voir plan
7 Cité Paradis, 75010

Date de début

Consulter

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Les matières

  • Samba

Le programme

Introduction du cours

Bonjour à tous ! :)

Combien de temps avez-vous perdu dans votre vie à transférer des fichiers entre différents appareils à la maison ? Beaucoup ! Prendre une clé USB, la brancher sur l'autre PC, etc. Cela se complique d'autant plus quand plusieurs systèmes d'exploitation cohabitent sous le même toit.

Mais rassurez-vous, à la fin de ce cours, ce ne sera plus qu'un mauvais rêve grâce à notre ami Samba.  ;)

Alors, on y va !

Présentation et prérequisPrésentation

Samba, ça se danse ?

Samba est un outil qui permet de partager des fichiers ou des dossiers entre différentes machines (ordinateur, tablettes, smartphones) qui peuvent tourner sous différents systèmes d'exploitation (Windows, OSX, Linux, Android). Cette compatibilité est son principal avantage mais il y en bien d'autres :

  • Il possède la fiabilité et la stabilité de Linux

  • Il est très facile à mettre en œuvre

  • Il est sûr

  • Il est gratuit : vous pouvez ranger vos sous 

Prérequis

Pour pouvoir suivre la suite de ce tutoriel, il va d'abord falloir vous équiper.

Mais tu nous avais dis que ça ne nous coûterait rien, non ?

En effet ! Vous possédez sûrement la plupart du matériel nécessaire.

Tout d'abord le serveur Samba s'installe sur une machine tournant sous Linux. J'utiliserai ici la distribution Debian, mais toutes les distributions Linux reposant plus ou moins sur la même base, libre à vous de choisir votre distribution. Si vous n'avez pas d'ordinateur sous Linux à la maison, il y a toujours moyen de s'arranger. Un vieil ordinateur qui traîne au fond du débarras peut très bien faire l'affaire puisque le serveur n'aura pas besoin d'énormément de puissance. Pour installer Linux sur cet ordinateur, vous pouvez suivre le tutoriel de Mathieu Nébra.

Si vous n'avez vraiment pas d'ordinateur disponible et que vous voulez garder votre système d'exploitation sur le vôtre, vous pouvez acheter un Raspberry Pi (~35€) sur internet et y installer Raspbian dessus en suivant ce tutoriel.

Je vous fournirai bien sûr toutes les commandes qu'il faudra effectuer mais si vous voulez comprendre ce que vous tapez, je vous conseille de regarder le tutoriel de Mathieu Nébra ci-dessus.

Pour finir, il vous faut une box Internet et des machines connectées à cette box (ordinateur, tablettes, smartphones).

Installation du serveurInstallation des paquets

Pour la suite, il faut utiliser le compte root  dans la console. Pour cela, ouvrez une console et tapez la commande su.

Le mot de passe du superutilisateur vous sera demandé :

Entrez le mot de passe

L'installation va être d'une simplicité déconcertante, vous allez voir, il suffit d'entrer ces commandes :

apt-get install samba apt-get install samba-common-bin

Samba  est le paquet pour installer le serveur lui-même, tandis que samba-common-bin  est un ensemble de paquets utiles pour le serveur Samba et les clients (des fichiers de configuration, des dépendances, ect.).

Des clients ? Mais je ne vends rien, moi !

Les clients sont ceux qui vont se connecter au serveur par l'intermédiaire de leur ordinateur. Le serveur est la machine qui va gérer les connexions des clients en fonction de leurs droits (ce qu'ils peuvent faire et ne pas faire).

Création des clients

Pour que les clients puissent se connecter au serveur, avant il va falloir créer leurs comptes d'utilisateur. Sous Linux, vous pouvez même créer des groupes d'utilisateurs. Dans notre exemple, nous allons imaginer une famille avec les parents et leurs deux enfants. Il y aura donc le groupe Parents et le groupe Enfants.

Chaque client aura accès à trois dossiers :

  • Son dossier personnel

  • Le dossier du groupe (ici Parents ou Enfants)

  • Un dossier commun à tous les groupes

Vous pouvez adapter cette configuration, si vous n'avez pas besoin des groupes, créez juste les utilisateurs voulus. ;) 

Commençons par créer les groupes avec la commande :

groupadd nom_du_groupe

Dans notre cas, cela donnera :

groupadd Parents groupadd Enfants

Maintenant, créons les utilisateurs avec la commande :

useradd -m -g nom_du_groupe nom_utilisateur

Le paramètre -m permet la création automatique du répertoire personnel de l'utilisateur dans /home/nom_utilisateur.

Le paramètre -g permet d'ajouter l'utilisateur au groupe spécifié.

Si vous n'utilisez pas les groupes, entrez juste la commande sans le paramètre -g et le nom du groupe.

Dans notre cas, cela donnera :

useradd -m -g Enfants enfant1 useradd -m -g Enfants enfant2 useradd -m -g Parents parent1 useradd -m -g Parents parent2

Nous allons ensuite lier ces utilisateurs à Samba via la commande :

smbpasswd -a nom_utilisateur

Le paramètre -a précise que le nom de l'utilisateur est mentionné juste après.

Il est possible que cette commande ne soit pas reconnue pas votre machine, essayez alors avec la commande pdbedit -a nom_utilisateur

La commande va vous demander de rentrer un mot de passe (et de le confirmer). C'est ce mot de passe qui permettra au client de se connecter au serveur Samba.

Avec notre exemple, nous aurons :

smbpasswd -a enfant1 smbpasswd -a enfant2 smbpasswd -a parent1 smbpasswd -a parent2

Maintenant créons les différents dossiers avec la commande :

mkdir /chemin/du/dossier/nom_du_dossier

Dans notre cas, nous aurons :

mkdir /home/Enfants mkdir /home/Parents mkdir /home/Commun

Le dossier Enfants sera accessible uniquement par le groupe éponyme, de même pour le dossier Parents. Le dossier Commun sera lui accessible par tous le monde.

Pour rendre le dossier Commun accessible à tout le monde, il faut taper la commande :

chmod 777 /home/Commun

Le répertoire Parents sera réservé au groupe Parents. Nous devons donc attribuer ce répertoire au groupe Parents et leur donner les droits :

chown -R /home/Parents root:Parents chmod -R 770 /home/Parents

La première commande attribue le répertoire Parents à l'utilisateur root (vous pouvez l'attribuer à un autre utilisateur, de préférence un qui appartienne au groupe Parents) et au groupe Parents.

La deuxième commande donne tous les droits sur le répertoire Parents au propriétaire (c'est à dire root) et au groupe propriétaire, c'est à dire Parents.

Nous faisons de même avec le répertoire Enfants :

chown -R /home/Enfants root:Enfants chmod -R 770 /home/Enfants

Voilà, notre serveur est installé et les comptes des clients sont créés. Il ne reste plus qu'à configurer le serveur.

Configuration du serveur

Le fichier de configuration de Samba se trouve dans /etc/samba. Allons-y :

cd /etc/samba

Maintenant copions le fichier de configuration de Samba afin d'éviter de tout refaire à cause d'une mauvaise manipulation :

cp /etc/samba/smb.conf /etc/samba/smb.conf.save

Voilà, nous avons deux fichiers identiques :

  • smb.conf  : le fichier sur lequel nous allons travailler ;

  • smb.conf.save  : le fichier qui nous permettra de revenir à la configuration initiale en cas d'erreur ; mais vous  n'en aurez pas besoin car vous êtes super balèzes.

Modifiez les paramètres du serveur

Éditons ce fameux fichier de configuration :

nano smb.conf

Nano est l'éditeur de texte de Linux, c'est l'équivalent de Word sous Windows.

Houlà ! Y a beaucoup de trucs dans ton fichier ! Et en plus c'est en anglais !

Ne vous inquiétez pas, je vais vous guider. ^^

workgroup = WORKGROUP

WORKGROUP est le nom du groupe de travail par défaut dans lequel le serveur Samba interviendra. Sauf si vous l'avez changé sur vos machines, laissez-le tel quel.

server string = %h server

Ici vous pouvez indiquer le nom de votre serveur sur le réseau. Vous pouvez mettre ce que vous voulez.

Ici, le %h est une variable d'environnement et représente le hostname de la machine, c'est à dire le nom que vous lui donnez. Ainsi, si vous changez le nom de votre machine, le nom de votre serveur sur le réseau changera tout seul sans avoir besoin d'aller le changer dans les fichiers de configuration.

security = user

Cette commande force les utilisateurs à s'authentifier via le nom de compte et le mot de passe que vous avez préalablement défini. Un utilisateur ne pourra accéder à aucun fichier s'il ne s'est pas authentifié.

Nous allons maintenant faire en sorte que les clients puissent accéder à leur répertoire personnel qui n'est autre que leur home. Pour cela cherchez la section Share Definitions et la partie [homes].

Vous devez décommenter (enlever les ; ) des lignes suivantes et les adapter selon vos besoins.

Ainsi :

Devient :

Le paramètre comment  permet à l'administrateur du serveur de savoir à quoi correspond cette section, c'est la description. browseable  autorise ou non les clients à voir les répertoires concernés. Ici nous voulons que les clients voient leur répertoire personnel, il faut donc entrer cette commande.

read only = no

read only  indique si les répertoires concernés sont en lecture seule ou non. Ici nous voulons que les clients puissent écrire dans leur répertoire, nous mettons donc la valeur à no .

create mask = 0700 directory mask = 0700

Ces deux paramètres indiquent les droits appliqués sur les répertoires. Cela correspond aux mêmes droits que sur un système Linux en rajoutant un 0 devant. Nous voulons que seul le propriétaire ait accès à son répertoire personnel.

C'est tout pour la partie [homes]. Il y a bien d'autres paramètres mais ils ne seront pas nécessairement utiles ici. Je vous invite à vous renseigner sur leur utilisation si vous voulez pousser la configuration plus loin.  

Les clients ont donc accès à leur répertoire personnel, il ne nous reste plus qu'à configurer les répertoires partagés.

Configurez les dossiers partagés

Allez tout en bas du fichier de configuration. Nous allons créer une section pour chaque dossier partagé. Une section se présente sous cette forme :

[nom_section] paramètre = valeur1, valeur2

Commençons par créer la section pour le dossier Commun. Vous pouvez nommer la section comme vous le souhaitez, personnellement je la nomme [Commun] pour plus de clarté. Bien, maintenant il va falloir indiquer à Samba de quel répertoire vous parlez. Pour cela il faut indiquer le chemin absolu du répertoire avec le paramètre path  :

path = /chemin/absolu/du/répertoire

Ici, pour le répertoire Commun nous aurons :

path = /home/Commun

Vous pouvez utiliser le paramètre comment  pour donner des précisions sur la section :

comment = répertoire accessible par tout le monde

Maintenant il faut rendre ce répertoire visible par les clients, c'est à dire les autoriser à le voir. Cela s'effectue grâce au paramètre browseable  :

browseable = yes

Il faut maintenant préciser à Samba que tout le monde peut lire et écrire dans ce répertoire :

read only = no writable = yes

Le paramètre read only indique si le répertoire est en lecture seule. Ici ce n'est pas le cas, nous mettons donc no .

Le paramètre writable ...

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Mettre en place un serveur Samba

Prix sur demande