Mettre en place un réseau local avec GNU Linux

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


Mettre en place un réseau local avec GNU Linux

Partage de fichiers avec Samba

Installer Samba

Samba.
# apt-get install samba
# /etc/init.d/samba start
# Samba est maintenant installé et lancé.
service smbd status
● smbd.service - Samba SMB Daemon
  Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: ena
  Active: active (running) since Sat 2018-03-10 14:07:58 CET; 8min ago
    Docs: man:smbd(8)
          man:samba(7)
          man:smb.conf(5)
Main PID: 13415 (smbd)
  Status: "smbd: ready to serve connections..."
  CGroup: /system.slice/smbd.service
          ├─13415 /usr/sbin/smbd
          ├─13416 /usr/sbin/smbd
          ├─13417 /usr/sbin/smbd
          └─13420 /usr/sbin/smbd
mars 10 14:07:57 serveur systemd[1]: Starting Samba SMB Daemon...
mars 10 14:07:58 serveur systemd[1]: smbd.service: Supervising process 13415 which is not our child. We'll most likely not notice when it exits.
mars 10 14:07:58 serveur systemd[1]: Started Samba SMB Daemon.

Configurer le partage de fichiers Samba

Le fichier de configuration de Samba /etc/samba/smb.conf a été créé durant l'installation.
Ce fichier permet de configurer le partage. Sauvegarder le fichier original en .old pour en garder une copie si nécessaire.
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Éditer le fichier /etc/samba/smb.conf avec les informations suivantes :
   [global]
   server string = Vampire
   workgroup = Workgroup
   netbios name = Vampire
   public = yes
   encrypt passwords = true
   [projects]
   path = /home/zero/dossier_en_partage
   read only = no
   writeable = yes
   valid users = zero
   comment = all_my_projects
La première section permet de paramétrer le partage de votre machine avec Samba :
- server string : prend pour valeur le nom qui identifiera votre machine.
- workgroup : donne le nom du groupe dans lequel se trouvera votre machine. La notion de groupe permet de regrouper et/ou faire un classement des machines sur un réseau.
- netbois name : contient le nom Netbios sous lequel sera identifiée votre machine.
- public : indique si le partage est publique (yes) ou privé (no).
- encrypt passwords : indique s’il faut utiliser le cryptage des mots de passe.
La seconde section permet quant à elle de définir le partage d’un répertoire sur Samba :
- [projects] : désigne le nom sous lequel sera accessible ce partage.
- path : indique le répertoire à partager.
- read only : indique si le partage est accessible seulement en lecture seule.
- writeable : indique si les utilisateurs peuvent écrire sur le partage.
- valid users : donne la liste des utilisateurs qui auront accès à ce partage.
- comments : permet d’afficher une description du partage. Cela permet aux utilisateurs d’avoir des indications sur le contenu d’un partage quand ils explorent l’ensemble des partages de fichiers.
Pour que Samba prenne en compte cette nouvelle configuration, il est nécessaire de redémarrer Samba avec la commande :
/etc/init.d/samba restart
Votre serveur de partage est prêt.

Ajouter l'utilisateur zero dans la liste des utilisateurs de Samba

La ligne valid users = zero authorise uniquement l’utilisateur zero à se connecter au partage projects.
Ajouter l’utilisateur zero dans la liste des utilisateurs de Samba.
Par contre, il faut savoir que le dit utilisateur zero doit exister également au niveau du système d’exploitation.
Donc il est possible, soit d’utiliser la commande smbpasswd avec un utilisateur existant, sinon, il faut créer un utilisateur spécifique pour Samba (par exemple zero).
smbpasswd -a zero
Le programme smbpassword demande alors le mot de passe utilisateur de Samba.
Ce mot de passe n'a pas besoin d'être le même que le mot de passe de l'utilisateur.
C'est un mot de passe spécifique pour le partage de fichiers avec Samba.
Pour changer le mot de passe utilisateur de Samba :
smbpasswd zero
Le partage de fichiers est prêt !

Vérifier que le partage fonctionne

Pour accéder au partage de fichiers sous Samba, il existe deux méthodes :
Le client Samba : rapide, mais peu pratique.
Le montage du partage comme un système de fichier : nécessite un paramétrage, mais très agréable à l’utilisation.

Le client Samba

Installer le Client Samba avec la commande suivante :
sudo apt-get install smbclient
Tester l’accès au partage avec la commande suivante :
smbclient //127.0.0.1/dossier_en_partage -U zero
Saisir le mot de passe de l’utilisateur zero est demandé.
Si tout c’est correctement déroulé, un prompt doit s’afficher.
Il est alors possible de lancer la commande ls pour lister tous les fichiers qui se trouvent dans le partage projects.
smbclient //127.0.0.1/dossier_en_partage -U zero
WARNING: The "syslog" option is deprecated
Enter stockage's password: 
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.12-Debian]
smb: \> ls
 .                                   D        0  Sat Mar 10 15:00:20 2018
 ..                                  D        0  Sat Mar 10 14:52:47 2018
 lien                                A      458  Wed Mar  7 13:43:50 2018
Saisir la commande quit pour se déconnecter et quitter le client Samba.

Monter un partage

Installer le paquet smbfs avec cette commande :
apt-get install cifs-utils
Créer le répertoire dans lequel va être monté le partage Samba :
mkdir /media/dossier_en_partage
Monter le partage avec la commande :
mount -t cifs //127.0.0.1/dossier_en_partage /media/dossier_en_partage_au_choix -o username=zero
Le programme demande alors de saisir le mot de passe de l’utilisateur zero.
Une fois le mot de passe saisi, le partage de fichiers est accessible.
Il est possible de vérifier le bon déroulement de la manipulation avec la commande :
ls /home/user/dossier_en_partage
ls /media/dossier_en_partage_au_choix
Les deux commandes doivent afficher le contenu du dossier partagé nommé dossier_en_partage.
Noter que le dossier /media/dossier_en_partage_au_choix peut être nommé comme vous le voulez.
A partir de la, votre dossier partagé devrait être visible sur une autre machine GNU/Linux.
Lancer le script suivant sur l'hôte et le client permet de couper la mise en veille pour éviter de perdre le partage avec Samba.
#!/bin/bash
echo "Stopper la mise en veille de l'écran sur le serveur pour ne pas couper le partage avec Samba !"
xset s off
xset -dpms
Cette méthode se révèle beaucoup plus simple pour explorer les partages.
Il est nécessaire de se reconnecter à chaque redémarrage de la machine.
Passer en root si votre utilisateur n’appartient pas au groupe disk.

Monter un partage distant

# Permettre la découverte de machines sur le réseau local en fixant les adresses IP de chaque machine dans le fichier hosts.

Démonter un partage

Pour démonter le partage de fichiers Samba, il faut utiliser la commande :
umount /media/dossier_en_partage_au_choix
Forcer le démontage du dossier partagé par Samba, depuis le client, en cas de perte de connexion.
umount -l

Monter un partage permanent avec le système de fichiers

Utiliser le fichier de configuration du montage de système de fichiers : /etc/fstab.
Ajouter la ligne suivante. Il faut remplacer top_secret par le mot de passe de l’utilisateur zero sur Samba.
Noter que le mot de passe est écrit en clair dans le fichier /etc/fstab. :-/
//127.0.0.1/dossier_en_partage /home/user/dossier_en_partage smbfs password=top_secret,username=zero 0 0
(Changer l’uid de l’utilisateur dans fstab.)
(Faille de sécurité : Forcer smbmnt à se lancer en root avec sudo chmod ug+s /usr/bin/smbmnt)
Maintenant le partage sera monté à chaque démarrage de la machine.
Si la machine distante qui partage les fichiers n’est pas accessible au moment du démarrage de la machine, les fichiers partagés ne sont bien évidemment pas accessibles.
Néanmoins si la machine distante devient accessible il sera possible de monter le partage pour rendre les fichiers accessibles.
#mount /home/user/dossier_en_partage
L’exemple décrit dans cet article décrit comment accéder aux fichiers partagés par cette même machine.
Exemple pour monter un partage de clé USB depuis une Livebox depuis fstab
//192.168.1.1/DisquesUSB/Flash_Disk /fixe/essai smbfs uid=celtiore,gid=celtiore 0 0
ou
//192.168.1.1/DisquesUSB/USB_DRIVE /fixe/essai2 smbfs uid=1000,gid=1000 0 0

Droit en lecture et écriture

Laissé les paramètres suivants pour le partage :
read only = no
writeable = yes
Vérifié les droits du répertoire partagé sur votre machine Debian.
Il faut que l’utilisateur Samba ait les droits en écriture au niveau du système Debian.

Démarrer arrêter redémarrer Samba

#/etc/init.d/samba start
#/etc/init.d/samba stop
#/etc/init.d/samba restart

Accéder au réseau Samba avec Thunar

Installer gfvs-backends pour que thunar puisse offrir l'accès aux url smb://

Sauvegarder des données d'un système GNU/Linux du réseau vers le dossier en partage sur le serveur Samba

# Ce script sauvegarde des données depuis un ordinateur du réseau vers le dossier en partage sur le serveur Samba.
###### Lancer le script en root : sh Sauvegarder-vers-Samba.sh
if [ "$(whoami)" != root ];
then
 echo "$(whoami) n'est pas root. Relancer le script en tant que root !"
 sleep 4
 exit 1
fi
######


# Étape 1 : Mettre en place le partage Samba.
###### Vérifier si le dossier /media/Backup_Samba/ existe sur cette machine à sauvegarder.
ABS_PATH_INSTALLEUR=$(readlink -e /media/Backup_Samba/)
if [ -d "$ABS_PATH_INSTALLEUR" ]; then
 echo "Le dossier /media/Backup_Samba/ existe déjà."
 echo
 sleep 2
else
 echo "----> Appuyer sur une touche pour créer le dossier /media/Backup_Samba/"
 read a
 # Créer /media/Backup_Samba/
 mkdir /media/Backup_Samba/
fi
######
###### Vérifier si le dossier Backup_Samba en local est monté vers le partage de Samba.
if mount|grep -q '^//192.168.x.x/Vampire' 
then
 # Si la cible est montée alors ...
 echo "Le dossier Backup_Samba local est déjà monté sur le réseau vers Vampire."
 echo
 sleep 2
else
 # Sinon la cible n'est pas montée alors ...
 echo "----> Appuyer sur une touche pour monter le dossier Backup_Samba."
 read a
 # Monter le dossier Backup_Samba local sur le réseau vers Vampire.
 mount -t cifs //192.168.x.x/Vampire /media/Backup_Samba/ -o username='NOM_UTILISATEUR_SAMBA',password='PASSWORD_UTILISATEUR_SAMBA'
fi
######
######
# Sauvegarder les données vers le serveur.
######


# Étape 2 : Compresser les fichiers à sauvegarder, ici, dans le /home/USER/Documents
###### Sauvegarder le dossier compressé Home Documents.
echo "----> Appuyer sur une touche pour compresser le dossier Documents"
read a
cd /home/USER/Documents
tar -czvf $(date +\%A)_Documents.tar.gz *
echo
echo "----> Appuyer sur une touche pour déplacer Documents.tar.gz vers Vampire."
read a
mv $(date +\%A)_Documents.tar.gz /media/Backup_Samba/$(date +\%A)_Documents.tar.gz
######


# Étape 3 : Méthode de sauvegarde.
###### Sauvegarder le dossier Home Documents avec rsync.
echo "----> Appuyer sur une touche pour sauvegarder le dossier Documents."
read a
SOURCE_DIRS=/home/USER/Documents
TARGET_DIR=/media/Backup_Samba/
rsync -e ssh -av --del --stats $SOURCE_DIRS "$TARGET_DIR"
echo
echo "Sauvegarde du dossier Documents avec rsync terminée."
echo
sleep 2
######
###### Sauvegarder le dossier Home Documents avec rsnapshot.
# echo "----> Appuyer sur une touche pour sauvegarder le dossier Documents."
# read a
# Il faut avoir configuré rsnapshot
# Voir : https://wiki.visionduweb.fr/index.php?title=Sauvegarder_et_reinstaller_Linux#Rsync_et_Rsnapshot
# rsnapshot daily
# echo
# echo "Sauvegarde du dossier Documents avec rsnapshot terminée."
# echo
# sleep 2
######


# Étape 4 : Démonter le point de montage.
###### Démonter le dossier Backup_Samba local du réseau et de Vampire.
echo "----> Appuyer sur une touche pour démonter le dossier Backup_vers_Samba."
read a
umount /media/Backup_Samba/
echo "Suppression du dossier local Backup_Samba."
rmdir /media/Backup_Samba
######


# Étape 5 : Fin.
###### Fin de la sauvegarde.
echo
echo "La sauvegarde est terminée."
echo "Vérifier que les données sont correctement sauvegardées."
echo "Ajouter une gestion des erreurs sur le script pour savoir si tout c'est bien déroulé."

smbfs

.

CIFS

.

Bibliographie

Samba - Le meilleur

 Source : Debian Addict via Archive du web : https://web.archive.org/web/20181222133903/http://www.debianaddict.org/article38.html
Source : https://doc.ubuntu-fr.org/samba
Source : https://linuxconfig.org/how-to-configure-samba-server-share-on-debian-9-stretch-linux
Source : https://debian-facile.org/atelier:chantier:samba-partage-reseau
Source : https://www.it-connect.fr/creer-un-serveur-de-fichiers-samba-4-2-3-sous-debian/
Source : https://www.framboise314.fr/partager-un-repertoire-sous-jessie-avec-samba/
Source : https://fr.wikibooks.org/wiki/Le_syst%C3%A8me_d%27exploitation_GNU-Linux/Le_partage_de_fichiers_Samba
Source : https://artheodoc.wordpress.com/2015/08/09/partages-avec-samba-sous-debian-7/
Source : https://www.abyssproject.net/2014/07/creer-serveur-partage-debian/
Source : http://www.supinfo.com/articles/single/187-serveur-partage-samba-gnu-linux-debian
Source : http://www.octetmalin.net/linux/tutoriels/samba-installer-configurer-serveur-de-fichiers.php
Source : http://www.commentcamarche.com/contents/1027-mise-en-place-de-samba-sous-linux

Samba et Windows

Source : http://www.pintaric.net/index.php?post/2009/05/08/Montage-d-un-dossier-partag%C3%A9-Windows-sous-Linux
Source : http://www.pcinfo-web.com/tutoriaux/50-1-1-%5B-tutoriel-%5D-reseau-entre-linux-et-windows-avec-samba.php

LDAP

Gestion des utilisateurs Samba avec LDAP : https://help.ubuntu.com/lts/serverguide/samba-ldap.html

NFS

Plus rapide.
Source : https://wiki.debian-fr.xyz/Partage_NFS

Généraliste

Source : https://doc.ubuntu-fr.org/partage
Partager un dossier entre plusieurs utilisateurs du même ordinateur : https://doc.ubuntu-fr.org/tutoriel/dossier_de_partage
Répertoire de partage pour VirtualBox : https://doc.ubuntu-fr.org/virtualbox_additions_invite#ajoutez_un_repertoire_de_partage_a_virtualbox
Source : https://doc.ubuntu-fr.org/tutoriel/comment_configurer_son_reseau_local
Source : http://forum.kubuntu-fr.org/viewtopic.php?pid=663461#p663461
Source : https://gist.github.com/proudlygeek/5721498

PHP

Serveur de partage de fichiers avec PHP
Source : https://howto.biapy.com/fr/debian-gnu-linux/applications-web/gestion-de-fichiers/installer-loutil-de-partage-de-fichiers-open-upload-sur-debian
Source : https://howto.biapy.com/fr/debian-gnu-linux/applications-web/gestion-de-fichiers/installer-loutil-de-partage-de-fichiers-cftp-sur-debian

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.