web-dev-qa-db-fra.com

Comment configurer des utilisateurs virtuels pour sftp (sshd) avec un accès à un sous-répertoire spécifique?

J'essaie de configurer les utilisateurs virtuels pour sftp avec sshd et/ou pam.

Ma structure de dossier ressemble à ceci:

/
|-- var
|   +-- www
|       +-- site1
|           +-- folder_1
|           +-- folder_2
|       +-- site2
|           +-- folder_1
|           +-- folder_2

Chaque site a un utilisateur Linux (par exemple, site1, site2) avec le même groupe (site1, site2) où le répertoire de base est par exemple. /var/www/site1. Le umask est 0022 et tous les fichiers et (sous) dossiers pour par exemple. site1 a UID=site1 et GID=site1 et cela ne devrait pas être changé.

J'ai été en mesure de configurer sshd pour que chaque utilisateur Linux obtienne son répertoire personnel, le dossier racine sftp étant, /var/www/site1 pour l'utilisateur site1. La configuration dans /etc/ssh/sshd_config ressemble à ceci
(dernières lignes seulement, le reste correspond à la configuration par défaut):

UsePAM yes
Subsystem sftp internal-sftp
Match User *,!root
    ChrootDirectory %h
    ForceCommand internal-sftp -u 0022
    AllowTcpForwarding no

Maintenant, je veux ajouter un utilisateur virtuel (pas de nouvel utilisateur ou groupe Linux si non nécessaire) où le dossier racine sftp est par exemple. /var/www/site1/folder1 pour un utilisateur sftp, par ex. site1_folder1. Cet utilisateur doit être un enfant de l'utilisateur site1 et utiliser les mêmes UID et GID, mais uniquement accéder à son sous-répertoire.

Comment dois-je modifier ma configuration et où puis-je ajouter un utilisateur virtuel?

J'ai besoin de cela sur Ubuntu 16.04 LTS, LAMP Server

2
Webdesigner

ProFTPd vous permet de créer des utilisateurs virtuels FTP/SFTP et de les mapper sur les uid et gid d'un utilisateur réel.

1
user2005651

Aucun utilisateur virtuel, les utilisateurs qui se connectent ont besoin d’un compte utilisateur et vous pouvez les emprisonner dans leur répertoire personnel respectif.

0
HellionWisp