GNU/Linux >> Tutoriels Linux >  >> Linux

CentOS / RHEL :Comment configurer SFTP pour Chroot Jail uniquement pour un groupe spécifique

Afin d'autoriser la fonctionnalité ChrootDirectory sur une base par utilisateur, utilisez une configuration sshd exécutée de manière conditionnelle (en utilisant le "Match ” mot-clé) dans le sshd_config dossier. La configuration de ChrootDirectory sur un groupe spécifique garantit que les utilisateurs de ce groupe ne peuvent pas sortir de leur répertoire personnel, garantissant ainsi qu'aucun autre utilisateur n'est affecté.

1. Créez un groupe pour les utilisateurs qui seront chrootés.

# groupadd sftp_group

2. Créez un utilisateur pour le groupe SFTP et définissez un mot de passe.

# useradd sftp_test1
# passwd sftp_test1
Changing password for user sftp_test1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. Ajoutez l'utilisateur sftp_test1 au groupe sftp_group. Laissez le shell utilisateur être /bin/false car les utilisateurs ne devraient être autorisés qu'à utiliser sftp et non ssh/scp.

# usermod -g sftp_group -s /bin/false sftp_test1
# id sftp_test1
uid=1000(sftp_test1) gid=1001(sftp_test1) groups=1001(sftp_test1),1000(sftp_group)
REMARQUE :Les utilisateurs ne faisant pas partie de ce groupe peuvent toujours se connecter à l'hôte via ssh et interagir normalement avec openssh.

4. Modifiez la configuration sshd pour configurer le sftp. Supprimez le /usr/libexec/openssh/sftp-server et ajoutez la ligne internal-sftp comme indiqué ci-dessous :
Supprimez ou hachez la ligne :

# vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server

ajoutez la ligne ci-dessous :

# vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp

5. Ajoutez le contenu ci-dessous à la fin du fichier /etc/ssh/sshd_config pour ajouter l'environnement chroot sftp :

# vi /etc/ssh/sshd_config
Match Group sftp_group
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /home
ForceCommand internal-sftp

5. Redémarrez le service sshd pour prendre effet de la configuration sftp.

# systemctl restart sshd

Vérifier

1. Essayez maintenant d'accéder au système avec le service SSH et SFTP à partir d'autres clients :
a. SSH

# ssh [email protected]
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
ECDSA key fingerprint is 07:1c:34:30:f4:81:e1:e0:b3:13:30:b8:57:d9:d9:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'x.x.x.x' (ECDSA) to the list of known hosts.
[email protected]'s password:
Could not chdir to home directory /home/sftp_test1: No such file or directory
This service allows sftp connections only.
Connection to x.x.x.x closed.

Comme vous le voyez ci-dessus, la connexion est fermée et n'est pas autorisée à se connecter en SSH.

b. SFTP

# sftp [email protected]
[email protected]'s password:
Connected to x.x.x.x.
sftp> pwd
Remote working directory: /
sftp> ls
sftp_test1
sftp> cd /home
Couldn't canonicalize: No such file or directory
sftp>

En conséquence, l'utilisateur sftp_test1 ci-dessus est connecté via SFTP et ne peut pas modifier le répertoire en raison de l'environnement chroot

3. Vous pouvez également tester la fonction SFTP-Server à partir du client Windows en utilisant les logiciels "WinSCP" ou "Filezilla".


Linux
  1. CentOS / RHEL 7 :Comment désactiver IPv6 sur une interface spécifique uniquement

  2. CentOS / RHEL 7 :Comment ajouter un paramètre de noyau uniquement à un noyau spécifique

  3. CentOS / RHEL 7 :Comment activer telnet pour un groupe d'utilisateurs

  4. Comment activer la journalisation SFTP sans chroot dans CentOS/RHEL

  5. Comment définir children-max pour le service udev dans CentOS/RHEL 7

Comment configurer SSH sur CentOS et RHEL

CentOS / RHEL :Comment supprimer un groupe de volumes dans LVM

CentOS / RHEL :Comment définir la prison chroot pour vsftp uniquement pour des utilisateurs spécifiques

CentOS / RHEL :Comment définir la prison chroot pour vsftp pour tous les utilisateurs

CentOS / RHEL :Comment configurer la prison chroot SFTP

Comment puis-je créer un utilisateur uniquement pour sftp ?