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
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.
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.