====== 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. 1) Installer le paquet //OpenSSH-Server// (inclus par défaut dans les distributions récentes) apt-get install openssh-server 2) Editer le fichier de configuration du serveur SSH // /etc/ssh/sshd_config// : nano /etc/ssh/sshd_config Y ajouter ces lignes : allowGroups sftp #(facultatif)Définit les groupes d'utilisateurs autorisés à se connecter en SSH (ici le groupe sftp) Subsystem sftp internal-sftp Match group sftp #Précise le groupe auquel s'appliqueront les réglages suivants ChrootDirectory /home/%u/ #Indique le répertoire personnel des utilisateurs (utiliser la variable //%u// pour automatiser le remplacement de chaque nom d'utilisateur) X11Forwarding no #Désactiver l'affichage graphique via SSH AllowTcpForwarding no #Désactiver l'ouverture de tunnels SSH (plus sécurisé) Tout en supprimant (ou en commentant au début) celle-ci afin de ne pas perturber le service avec des réglages redondants : Subsystem sftp /usr/lib/openssh/sftp-server 3) Créer un groupe d'utilisateurs habilité à utiliser SFTP : groupadd sftp 4) Créer les utilisateurs et leur dossier personnel en les attribuant au groupe précédemment créée useradd jean -d /home/jean -g sftp 5) Faire de //root// le propriètaire de chaque répertoire utilisateur : chown root:root /home/jean 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 : chmod 770 /home/jean 7) Créer un dossier supplémentaire à l'intérieur de chaque répertoire utilisateur et lui donner la proprièté à //root// : mkdir /home/jean/sftp chown root:root /home/jean/sftp 8) Attribuer tous les droits à tous sur ce sous-dossier (en mode récursif): chmod -R 777 /home/jean/sftp 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// : service sshd restart 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érifier la configuration et les permissions vues précédemment. Pour lancer le serveur en affichant les erreur à l'écran, faire : /usr/sbin/sshd -ddd