| Prochaine révision | Révision précédente |
| mise_en_place_un_stockage_sftp [2018/12/04 23:49] – créée superadmin | mise_en_place_un_stockage_sftp [2022/04/11 16:34] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| ====== Mise en place d'un stockage SFTP ====== | ====== Mise en place d'un stockage SFTP sous Linux ====== |
| |
| Ce tutoriel a pour but de configurer le protocole SFTP sous Linux afin que des utilisateurs puissent y stocker des fichiers (tels que des sites web). SFTP est un protocole de transfert de fichiers similaire à FTP qui se base sur des connexions sécurisées via le protocole SSH. | Ce tutoriel a pour but de configurer le protocole SFTP sous Linux afin que des utilisateurs puissent y stocker des fichiers (tels que des sites web). SFTP est un protocole de transfert de fichiers similaire à FTP qui se base sur des connexions sécurisées via le protocole SSH. |
| |
| 1) Installer le paquet //OpenSSH-Server// (inclus par défaut dans les distributions récentes) | 1) Installer le paquet //OpenSSH-Server// (inclus par défaut dans les distributions récentes) |
| <code> apt-get install openssh-server </code> | <code>apt-get install openssh-server </code> |
| |
| 2) Editer le fichier de configuration du serveur SSH // /etc/ssh/sshd_config// : | 2) Editer le fichier de configuration du serveur SSH // /etc/ssh/sshd_config// : |
| <code> nano /etc/ssh/sshd_config </code> | <code>nano /etc/ssh/sshd_config </code> |
| |
| Y ajouter ces lignes : | Y ajouter ces lignes : |
| <code>allowGroups sftp #Définit les groupes d'utilisateurs autorisés à se connecter en SSH (ici le groupe sftp) | <code>allowGroups sftp #(facultatif)Définit les groupes d'utilisateurs autorisés à se connecter en SSH (ici le groupe sftp) |
| Subsystem sftp internal-sftp | Subsystem sftp internal-sftp |
| Match group sftp #Précise le groupe auquel s'appliqueront les réglages suivants | Match group sftp #Précise le groupe auquel s'appliqueront les réglages suivants |
| AllowTcpForwarding no #Désactiver l'ouverture de tunnels SSH (plus sécurisé) | AllowTcpForwarding no #Désactiver l'ouverture de tunnels SSH (plus sécurisé) |
| </code> | </code> |
| Tout en supprimant (ou en commentant au début) celle-ci : | Tout en supprimant (ou en commentant au début) celle-ci afin de ne pas perturber le service avec des réglages redondants : |
| <code> Subsystem sftp /usr/lib/openssh/sftp-server </code> | <code>Subsystem sftp /usr/lib/openssh/sftp-server </code> |
| |
| 3) Créer un groupe d'utilisateurs habilité à utiliser SFTP : | 3) Créer un groupe d'utilisateurs habilité à utiliser SFTP : |
| <code> groupadd sftp</code> | <code>groupadd sftp</code> |
| |
| 4) Créer les utilisateurs et leur dossier personnel en les attribuant au groupe précédemment créee | 4) Créer les utilisateurs et leur dossier personnel en les attribuant au groupe précédemment créée |
| <code> useradd jean -d /home/jean -g sftp </code> | <code>useradd jean -d /home/jean -g sftp </code> |
| |
| 5) Faire de //root// le propriètaire de chaque répertoire utilisateur : | 5) Faire de //root// le propriètaire de chaque répertoire utilisateur : |
| <code> chown root:root /home/jean </code> (on peut aussi utiliser //%u// pour automatiser la tâche avec plusieurs utilisateurs, mais avec prudence car il peut déja y avoir d'autres utilisateurs sur le système qui ont besoin d'être propriètaire de leur propre dossier. | <code>chown root:root /home/jean </code> On peut aussi utiliser //%u// pour automatiser la tâche avec plusieurs utilisateurs, mais avec prudence car il peut déja y avoir d'autres utilisateurs sur le système qui ont besoin d'être propriètaire de leur propre dossier. |
| |
| 6)Attribuer tous les droits à //root// uniquement sur ce répertoire : | 6)Attribuer tous les droits à //root// __uniquement__, sur ce répertoire : |
| <code> chmod 770 /home/jean </code> | <code>chmod 770 /home/jean </code> |
| |
| 7) Créer un dossier supplémentaire à l'intérieur de chaque répertoire utilisateur et lui donner la proprièté à //root// : | 7) Créer un dossier supplémentaire à l'intérieur de chaque répertoire utilisateur et lui donner la proprièté à //root// : |
| <code> mkdir /home/jean/sftp | <code>mkdir /home/jean/sftp |
| chown root:root /home/jean/sftp</code> | chown root:root /home/jean/sftp</code> |
| |
| 8) Attribuer tous les droits à tous sur ce sous-dossier (en mode récursif): | 8) Attribuer tous les droits à tous sur ce sous-dossier (en mode récursif): |
| <code> chmod -R 777 /home/jean/sftp</code> | <code>chmod -R 777 /home/jean/sftp</code> |
| Le sous-dossier crée à l'étape juste avant sera accessible en écriture à l'utilisateur contrairement à la racine de son répertoire qui ne lui sera accessible qu'en lecture seule (propriètaire root). | Le sous-dossier créé à l'étape 7) sera accessible en écriture à l'utilisateur contrairement au répertoire racine, qui lui, ne sera accessible qu'en lecture seule (propriètaire root). |
| |
| 9) Relancer le service //openssh-server// : | 9) Relancer le service //openssh-server// : |
| <code> service sshd restart </code> | <code>service sshd restart </code> |
| |
| C'est terminé, les utilisateurs peuvent maintenant utiliser le serveur SFTP pour stocker leurs données ! | C'est terminé, les utilisateurs peuvent maintenant utiliser le serveur SFTP pour stocker leurs données ! |
| |
| En cas d'erreur lors du lancement du service SSHD, vérifiez la configuration et les permissions vues précédemment. Pour lancer le serveur en affichant les erreur à l'écran, faire : <code> /usr/sbin/sshd -ddd</code> | En cas d'erreur lors du lancement du service SSHD, vérifier la configuration et les permissions vues précédemment. Pour lancer le serveur en affichant les erreur à l'écran, faire : <code>/usr/sbin/sshd -ddd</code> |