Comment créer l'utilisateur SFTP pour un document de serveur Web Root

Comment créer l'utilisateur SFTP pour un document de serveur Web Root

SFTP (SSH / Secure File Transfer Protocol) est une norme de transmission réseau utilisée pour transférer, accéder et gérer des fichiers sur un réseau distant. Il contient SSH (Secure Shell), ce qui le rend beaucoup plus sécurisé que le protocole FTP.

Les fichiers sont transférés via un canal de contrôle unique dans SFTP. Il nécessite une authentification et fonctionne sur le port 22. Dans SFTP, le shell SSH fournit un chiffrement qui aide à protéger les noms d'utilisateur, les mots de passe et autres données personnelles transférées via SFTP.

Dans ce guide pratiques, nous apprendrons à créer des utilisateurs SFTP pour la racine du document de serveur Web.

Étape 1 - Installation de SSH (Secure Shell)

SFTP est un protocole de transfert de fichiers très sécurisé en raison du chiffrement que SSH fournit pour les données lors de son transfert sur le réseau. SSH est principalement installé sur les distributions Linux par défaut, mais si elle n'est pas préinstallée dans votre système, vous pouvez utiliser la commande ci-dessous pour l'installer:

sudo apt install ssh  

S'il est déjà installé, la commande mettra à niveau les packages OpenSSH.

Étape 2 - Configuration de SSH pour utiliser le code du serveur SFTP

Ouvrez maintenant le fichier de configuration de SSH dans un éditeur de texte pour le modifier pour le code du serveur SFTP. Ici, nous utiliserons l'éditeur Nano pour modifier le fichier de configuration.

sudo nano / etc / ssh / sshd_config  

Localisez la ligne à partir de «Sf-System SFTP».

Commentez la ligne en ajoutant # au début de la ligne et écrivez la ligne suivante après cette ligne comme indiqué dans la capture d'écran ci-dessous:

Sous-système SFTP interne-sftp 

Le SSHD utilisera le code du serveur SFTP au lieu d'exécuter le serveur SFTP en modifiant la ligne ci-dessus.

Une fois que vous avez modifié le fichier de configuration, enregistrez le fichier et quittez-le à l'aide des touches de raccourci clavier Ctrl + S et Ctrl + X.

Après les modifications, nous devons redémarrer le démon sshd pour laisser les changements fonctionner.

sudo systemctl redémarrer sshd  

Étape 3 - Création d'un utilisateur (utilisateur SFTP)

C'est une excellente pratique pour créer un nouvel utilisateur qui n'a que l'accès SFTP à la racine du document. Il n'est pas recommandé d'ajouter un utilisateur avec des privilèges sudo à la racine du document pour serveur Web. Créez un nouvel utilisateur à l'aide de la commande addUser:

Sudo AddUser SFTPUSER  

Le terminal demandera quelques choses comme la définition du mot de passe et des informations utilisateur. Il demandera également quelques autres détails, alors laissez-les vider ou fournissez les informations appropriées.

Un nouvel utilisateur avec le nom de SFTPUSER est créé avec succès.

Étape 4 - Création de la directive d'utilisateurs de correspondance dans le fichier de configuration SSH

Nous allons maintenant limiter cet utilisateur à la racine du document et nous désactiverons également l'accès de l'utilisateur à SSH afin que l'utilisateur se connecte via SFTP.

Pour restreindre l'accès de l'utilisateur, ouvrez le fichier de configuration de SSH dans n'importe quel éditeur de texte:

sudo nano / etc / ssh / sshd_config  

Accédez maintenant à la fin du fichier et ajoutez le contenu suivant dans le fichier de configuration "sshd_config":

Faites correspondre l'utilisateur SFTPUSER FORCEMAND CHROOTDIRECTORY / VAR / WWW / PASSOT PASSWORKAUTHENTICATION Oui X11 

Assurez-vous de remplacer le nom d'utilisateur «SFTPUSER» par le nom d'utilisateur que vous définissez.

Une fois le contenu ci-dessus ajouté au fichier de configuration SSH, enregistrez et sortez à l'aide des touches de raccourci Ctrl + S et Ctrl + X.

Pour vérifier la syntaxe et vérifier si tout s'est bien passé, vous pouvez exécuter la commande:

sudo sshd -t  

Si aucune erreur ne se produisait, nous pourrions recharger le service SSH pour les modifications de travail.

sudo systemctl redémarrer sshd  

Étape 5 - Ajout de l'utilisateur SFTP au groupe www-data

Nous allons maintenant ajouter l'utilisateur au groupe www-data en exécutant la commande suivante:

sudo usermod -a -g www-data sftpuser  

Sur une course réussie, aucune sortie ne sera affichée.

Étape 6 - Définition de la permission du répertoire racine du document

Veuillez suivre les instructions ultérieures très attentivement car la SFTP est très stricte en ce qui concerne les autorisations de répertoire de chroot.

  1. Nous commencerons par vérifier les autorisations actuelles et la propriété de VAR:
    sudo ls -ld / var /  
  2. Les autorisations doivent être 755 et le propriétaire doit être root par défaut. Sinon, exécutez la commande ci-dessous pour définir les autorisations appropriées:
    sudo chmod 755 / var /  
  3. Utilisez maintenant cette commande pour définir la propriété correcte:
    sudo chown racine: root / var /  
  4. De même, appliquez les mêmes autorisations au chroot:

    sudo chmod 755 / var / www /  
  5. Depuis que nous avons défini «/ var / www /» au répertoire de chroot. Définissez maintenant la bonne propriété du répertoire de chroot:
    sudo chown racine: root / var / www /  
  6. Pour permettre à un groupe d'écrire dans le répertoire racine du document, définissez son autorisation à 755:
    sudo chmod 755 / var / www / html /  
  7. Pour accorder la propriété de la racine du document «/ var / www / html» et de ses autres répertoires et fichiers vers le groupe www-data, utilisez la commande diable:
    Sudo Chown -r www-data: www-data / var / www / html *  
  8. Donnez maintenant 755 autorisations au contenu placé dans la racine du document «/ var / www / html» à l'aide de la commande:
    sudo find / var / www / html / -type d -exec chmod 775  \;  
  9. La commande ci-dessus accordera à l'utilisateur SFTP, à lire, écrire et à exécuter les autorisations des répertoires.

    Nous devons également donner 664 autorisations à tous les fichiers présents dans la racine du document pour permettre au propriétaire et au groupe des utilisateurs de SFTP de lire et d'écrire les fichiers:

    sudo find / var / www / html / -type f -exec chmod 664  \;  
  10. Maintenant, pour la dernière étape, assurez-vous que tous les nouveaux fichiers et répertoires acquièrent le groupe www-data qui sont créés l'utilisateur SFTP nouvellement créé:
    sudo find / var / www / html -type d -exec chmod g + s  \;  

Toutes nos félicitations! Votre nouvel utilisateur SFTP a été créé et ajouté à la racine du document pour serveur Web. Vous pouvez maintenant vous connecter à SFTP.

Conclusion

Dans ce guide pratiques, nous avons appris à installer et à configurer SSH pour utiliser le code du serveur SFTP. Après cela, nous avons créé un nouvel utilisateur, les avons limités à documenter Root et désactivé leur accès SSH. Ensuite, nous avons ajouté l'utilisateur à la racine du document du serveur Web pour permettre à l'utilisateur de lire, écrire et exécuter des fichiers dans la racine du document.