web-dev-qa-db-fra.com

Limiter l'accès utilisateur SFTP au répertoire spécifié

J'ai un serveur Ubuntu 14.04 installé avec ssh ouvert. J'aimerais configurer sftp pour que les clients ne puissent télécharger que des fichiers. En d'autres termes, je mets des fichiers dans un répertoire dans lequel ils sont emprisonnés. Je dois m'assurer qu'ils ne peuvent accéder au répertoire qu'avec leur (s) fichier (s) et rien d'autre.

A l'origine, j'allais utiliser vsftpd, mais quelqu'un m'a dit que sftp était la meilleure option. S'il y a de la documentation sur ce dont j'ai besoin, ce serait génial.

J'ai besoin d'aide pour:

  1. Comment configurer sftp
  2. Comment configurer des comptes d'utilisateurs et les utiliser pour sftp
  3. Comment définir des comptes en prison
8
scottsmail

Paramètres pour /etc/ssh/sshd_config

Subsystem sftp internal-sftp -f AUTH -l VERBOSE
UsePAM yes
Match group sftp
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

créer un groupe sftp:

groupadd sftp

Créer le répertoire

Sudo mkdir /ftpusers
Sudo mkdir /ftpusers/HomeFolder

Créer un utilisateur directement avec le nouveau groupe sftp attaché:

Sudo useradd -d /ftpusers/HomeFolder -m UserName -g sftp -s /bin/false
Sudo passwd UserName

définissez les autorisations à utiliser avec ssh pour sftp:

chown root:root /ftpusers/HomeFolder
chmod 755 /ftpusers/HomeFolder

service de redémarrage:

service ssh restart

Notez que le dossier personnel du nouvel utilisateur sftp doit être attribué au propriétaire racine.

10
2707974