GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment créer un utilisateur SFTP avec des autorisations de répertoire spécifiées dans Ubuntu 20.04

SFTP signifie Secure File Transfer Protocol que nous avons utilisé pour le transfert sécurisé de données vers et depuis votre système local. Il fonctionne sur le protocole SSH et est donc considéré comme plus sécurisé que le simple FTP (File Transfer Protocol). Le transfert de données est une tâche routinière de chaque administrateur système et des autres développeurs qui doivent apporter des modifications à leur code.

Ainsi, dans l'article d'aujourd'hui, nous allons montrer les étapes détaillées pour configurer le serveur SFTP et créer des utilisateurs avec leurs autorisations de répertoire spécifiées.

Pour la démonstration, nous utilisons Ubuntu 20.04 LTS pour la configuration SFTP, mais des étapes similaires peuvent être effectuées si vous utilisez le système d'exploitation RHEL/CentOS.

Prérequis :

À partir des prérequis, nous devons nous assurer que nous disposons des privilèges d'utilisateur sudo ou root sur le serveur sur lequel nous devons créer des utilisateurs SFTP.

Commençons par vous connecter au système en utilisant ssh pour lequel vous pouvez utiliser le terminal Putty ou Shell de votre bureau Linux.

# ssh -i key.pem [email protected]_server_ip
# sudo -i

Vous pouvez également vous connecter directement à votre système, mais assurez-vous d'utiliser votre propre nom d'utilisateur et vos informations d'identification.

Étape 1 :Créer un nouvel utilisateur SFTP uniquement

La création d'un nouvel utilisateur pour SFTP est aussi similaire que nous le faisons pour l'ajout d'autres utilisateurs généraux. Mais afin de limiter son utilisation à des fins SFTP uniquement, nous ne l'attribuerons à aucun shell de connexion.

Exécutez la commande ci-dessous pour créer un utilisateur SFTP en spécifiant son répertoire personnel personnalisé.

# useradd -m -d /home/example.com sftp_user

Définissez le mot de passe de l'utilisateur nouvellement créé à l'aide de la commande "passwd" comme ci-dessous.

# passwd sftp_user

Assurez-vous de définir un mot de passe complexe pour sa sécurité. Attribuez-lui ensuite un shell nologin en modifiant le fichier 'passwd' comme ci-dessous.

# vim /etc/passwd
sftp_user:x:1001:1001::/home/example.com:/usr/sbin/nologin

Enregistrez et fermez avec :wq! Pour appliquer les modifications.

Étape 2 :Configurer les autorisations du répertoire

Après avoir créé le nouvel utilisateur, nous devons configurer les bonnes autorisations de répertoire et la propriété du répertoire de l'utilisateur que nous avons créé à la première étape.

# chmod 755 /home/example.com/
# chown root:root /home/example.com

Étape 3 :Restreindre l'accès à l'annuaire

Maintenant que nous avons un nouvel utilisateur SFTP uniquement en place, nous devons ensuite restreindre son accès au répertoire pour qu'il soit accessible au dossier de départ spécifié que nous avons créé.

Pour ce faire, nous allons modifier le fichier de configuration ssh en ajoutant les paramètres suivants.

# vim /etc/ssh/sshd_config
subsystem sftp internal-sftp

Match User sftp_user

ChrootDirectory %h

AllowTCPForwarding no

X11Forwarding no

PasswordAuthentication yes

ForceCommand internal-sftp

Avant d'enregistrer les modifications apportées, assurez-vous d'ajouter votre nom d'utilisateur à "Match User", tandis que "%h" représente le répertoire personnel de votre nouvel utilisateur dans l'environnement restreint. Ce 'ChrootDirectory' garantira que votre utilisateur SFTP n'aura accès à aucun autre répertoire.
Enregistrez le fichier de configuration ssh, vérifiez la syntaxe en cas de problème, puis redémarrez ses services et confirmez s'il est en cours d'exécution en utilisant le commandes ci-dessous.

# ssh -t
# systemctl restart sshd
# systemctl status sshd

Ici, vous pouvez voir qu'il y avait d'abord une erreur dans le fichier de configuration ssh que nous avons corrigé en commentant l'entrée supplémentaire et en redémarrant le "service sshd".

Étape 4 :Tester la connexion SFTP

À ce stade, nous sommes prêts à utiliser notre utilisateur SFTp, mais avant cela, testons-le pour nous assurer qu'il n'a qu'un accès SFTP en utilisant la commande ssh.

# [email protected]

Alors que xx doit être remplacé par votre propre adresse IP de serveur. En conséquence, vous devriez obtenir l'échec de connexion comme indiqué ci-dessous.

Étape 5 :Utiliser le client SFTP

Il existe quelques clients SFTP disponibles pour le système d'exploitation multiplateforme et vous pouvez utiliser celui que vous préférez. Nous allons le tester en utilisant FileZilla qui est l'un des clients FTP/SFTP les meilleurs et les plus utiles disponibles. Vous pouvez facilement le télécharger à partir de leur lien officiel.

Ouvrons-le dans votre système et donnons l'adresse IP de votre serveur SFTP avec votre nom d'utilisateur et votre mot de passe créés.

Une fois les informations d'identification réussies, vous pourrez accéder à votre répertoire spécifié uniquement où vous pourrez télécharger ou télécharger les données.

Conclusion :

Dans cet article, nous avons couvert les étapes détaillées de la configuration et du nouveau serveur SFTP en apportant les modifications de configuration ssh, en ajoutant de nouveaux utilisateurs et en attribuant les autorisations de répertoire requises. Vous pouvez ajouter autant d'utilisateurs que vous le souhaitez ou simplement créer un nouveau groupe et intégrer de nouveaux utilisateurs à ce groupe.


Ubuntu
  1. Comment créer un utilisateur Postgres

  2. Comment créer un utilisateur Sudo sur Ubuntu

  3. Comment créer un utilisateur avec un répertoire personnel personnalisé sous Linux

  4. Centos - Comment créer un utilisateur Sftp dans Centos ?

  5. Comment créer et supprimer un utilisateur sur Ubuntu 16.04

Comment installer et créer un blog avec Hexo sur Ubuntu 20.04

Comment créer un utilisateur ssh emprisonné avec Jailkit sur Debian/Ubuntu

Comment supprimer un répertoire dans Ubuntu 20.04

Comment créer des modèles de système d'exploitation Linux avec KVM sur Ubuntu 20.04

Comment créer un utilisateur Sudo dans Ubuntu Linux

Comment créer un nouvel utilisateur et accorder des autorisations dans MySQL