Comment restreindre les utilisateurs de SFTP aux répertoires domestiques à l'aide de la prison de chroot

Comment restreindre les utilisateurs de SFTP aux répertoires domestiques à l'aide de la prison de chroot

Dans ce tutoriel, nous discuterons de la façon de restreindre SFTP utilisateurs de leurs répertoires domestiques ou répertoires spécifiques. Cela signifie que l'utilisateur ne peut accéder qu'à son répertoire personnel respectif, pas à l'ensemble du système de fichiers.

La restriction des répertoires domestiques des utilisateurs est vitale, en particulier dans un environnement de serveur partagé, de sorte qu'un utilisateur non autorisé ne jette pas un coup d'œil dans les fichiers et dossiers de l'autre utilisateur.

Important: Veuillez également noter que l'objectif de cet article est de fournir un accès SFTP uniquement, et non des connexions SSH, en suivant cet article, les autorisations pour effectueront un transfert de fichiers, mais pas autorisé à effectuer une session SSH distante.

Lire suggérée: Restreindre l'accès des utilisateurs SSH à certains répertoires à l'aide de la prison chrootée

La façon la plus simple de le faire est de créer un environnement de prison chrooté pour l'accès SFTP. Cette méthode est la même pour tous les systèmes d'exploitation UNIX / Linux. En utilisant un environnement chrooté, nous pouvons restreindre les utilisateurs à leur répertoire domestique ou à un répertoire spécifique.

Restreindre les utilisateurs aux répertoires domestiques

Dans cette section, nous créerons un nouveau groupe appelé sftpgroup et attribuer la propriété et les autorisations correctes aux comptes d'utilisateurs. Il y a deux choix pour restreindre les utilisateurs à des répertoires à domicile ou spécifiques, nous verrons les deux chemin dans cet article.

Créer ou modifier les utilisateurs et les groupes

Laissez-nous restreindre l'utilisateur existant, par exemple Tecmint, à son répertoire d'origine nommé / Home / Tecmint. Pour cela, vous devez créer un nouveau sftpgroup Groupe utilisant groupadd commande comme indiqué:

# groupadd sftpgroup 

Ensuite, affectez l'utilisateur 'Tecmint' pour sftpgroup groupe.

# usermod -g sftpgroup tecmint 

Vous pouvez également créer un nouvel utilisateur à l'aide d'une commande userAdd, par exemple senthil et affecter l'utilisateur à SFTPUSERS groupe.

# addUser Senthil -g sftpgroup -s / sbin / nologin # passwd tecmint 

Modifier le fichier de configuration SSH

Ouvrez et ajoutez les lignes suivantes à / etc / ssh / sshd_config fichier de configuration.

Sous-système SFTP interne SFTP Match Group SFTPGROUP CHROOTDIRECTORY / HOME FORCOMANCAN 

Enregistrer et quitter le fichier, redémarrer le service SSHD pour mettre en vigueur de nouvelles modifications.

# SystemCTL Redémarrer SSHD ou # Service SSHD Redémarrer 

Si vous réprimandez plusieurs utilisateurs vers le même répertoire, vous devez modifier les autorisations du répertoire domestique de chaque utilisateur afin d'empêcher tous les utilisateurs de parcourir les répertoires domestiques les uns des autres.

# Chmod 700 / Home / Tecmint 

Vérifiez la connexion des utilisateurs SSH et SFTP

Maintenant, il est temps de vérifier la connexion d'un système local. Essayez de SSH votre système distant de votre système local.

# ssh [e-mail protégé] 

Ici,

  1. Tecmint - Nom d'utilisateur du système distant.
  2. 192.168.1.150 - Adresse IP du système distant.
Exemple de sortie:
[Protégé par e-mail] Mot de passe: Impossible de chdir vers Home Directory / Home / Tecmint: Aucun fichier ou répertoire de ce type, ce service n'autorise que les connexions SFTP uniquement. Connexion à 192.168.1.150 fermé. 

Ensuite, accédez au système distant à l'aide de SFTP.

# sftp [e-mail protégé] 
Exemple de sortie:
Mot de passe de [e-mail protégé par e-mail]: connecté à 192.168.1.150. sftp> 

Vérifions le répertoire de travail actuel:

SFTP & GT PWD Répertoire de travail à distance: / SFTP & GT LS Tecmint 

Ici, Tecmint est le répertoire de la maison. CD au Tecmint répertoire et créez les fichiers ou dossiers de votre choix.

SFTP & GT CD Tecmint Répertoire de travail à distance: / Test SFTP & GT MKDIR Tecmint 

Restreindre les utilisateurs à un répertoire spécifique

Dans notre exemple précédent, nous limitons les utilisateurs existants au répertoire domestique. Maintenant, nous verrons comment restreindre un nouvel utilisateur à un répertoire personnalisé.

Créer un groupe et de nouveaux utilisateurs

Créer un nouveau groupe sftpgroup.

# groupadd sftpgroup 

Ensuite, créez un répertoire pour le groupe SFTP et attribuez des autorisations à l'utilisateur racine.

# mkdir -p / sftpusers / chroot # chown root: root / sftpusers / chroot / 

Ensuite, créez de nouveaux répertoires pour chaque utilisateur, auquel il aura un accès complet. Par exemple, nous créerons Tecmint L'utilisateur et c'est un nouveau répertoire domestique avec une autorisation de groupe correcte en utilisant la série suivante de commandes.

# AddUser tecmint -g sftpgroup -s / sbin / nologin # passwd tecmint # mkdir / sftpusers / chroot / tecmint # chown tecmint: sftpgroup / sftpusers / chroot / tecmint / # chmod 700 / sftpusers / chroot / tecmint / sftpusers / chroot / tecmint / 

Configurer SSH pour l'accès SFTP

Modifier ou ajouter les lignes suivantes à la fin du fichier:

#SubSystem sftp / usr / libexec / openssh / sftp-server sous-système SFTP Group de match interne-SFTP SFTPGROUP CHROOTDIRECTORY / SFTPUSERS / CHROOT / FORCECOMAND INTERNAL-SFTP X11 

Enregistrer et quitter le fichier. Redémarrez le service SSHD pour prendre effet les modifications enregistrées.

# SystemCTL Redémarrer SSHD ou # Service SSHD Redémarrer 

Voilà, vous pouvez vérifier en vous connectant dans le serveur SSH et SFTP de votre télécommande en utilisant l'étape fournie ci-dessus sur Verify SSH et SFTP Connexion.

Soyez conscient que cette méthode désactivera l'accès à la coquille, je.e Vous ne pouvez pas accéder à la session de shell du système distant à l'aide de SSH. Vous ne pouvez accéder aux systèmes distants que via SFTP et effectuer un transfert de fichiers vers et depuis les systèmes locaux et distants.

Conclusion

Vous savez maintenant comment restreindre les répertoires personnels des utilisateurs à l'aide d'un environnement de chroot à Linux. Si vous trouvez cela utile, partagez cet article sur vos réseaux sociaux et faites-le nous savoir dans la section des commentaires ci-dessous s'il existe d'autres méthodes pour restreindre les répertoires domestiques des utilisateurs.