Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tuto:configurer_serveur_sftp [2009/12/14 05:20] – créée Thomastuto:configurer_serveur_sftp [2010/01/23 11:35] (Version actuelle) smolski
Ligne 12: Ligne 12:
   * nous avons accès à toute l'arborescence du serveur (pas de chroot), suivant les droits des dossiers et fichiers bien entendu,   * nous avons accès à toute l'arborescence du serveur (pas de chroot), suivant les droits des dossiers et fichiers bien entendu,
   * nous avons accès à un shell.   * nous avons accès à un shell.
 +\\
  
-=== Configuration d'OpenSSH ===+==== Configuration d'OpenSSH ====
  
-Nous pouvons sécuriser ces paramètres en ajoutant au fichier ''/etc/ssh/sshd_config'' :+Nous pouvons sécuriser ces paramètres en éditant le fichier ''/etc/ssh/sshd_config''
 + 
 +Ecrire :
  
 <code>PermitRootLogin no</code> <code>PermitRootLogin no</code>
  
-Simple question de bon sens mais pas obligatoire.+//Simple question de bon sens mais pas obligatoire.// 
 + 
 +Ajouter :
  
 <code>Subsystem  sftp    internal-sftp</code> <code>Subsystem  sftp    internal-sftp</code>
  
-Cette commande autorise le faux shell "internal-sftp". J'y reviendrai un peu plus tard.+//Cette commande autorise le faux shell "internal-sftp". J'y reviendrai un peu plus tard.// 
 + 
 +Ajouter encore :
  
 <code> <code>
Ligne 33: Ligne 40:
 </code> </code>
  
-Ici nous autorisons le groupe "geeks" à accéder au shell "internal-sftp" uniquement, et il ne pourra pas sortir de son home car il est chrooté. +Ainsi nous autorisons le groupe "geeks" à accéder uniquement au shell "internal-sftp". Et il ne pourra pas sortir de son home car il est chrooté. \\  
-Le %u est la variable désignant l'identifiant de l'utilisateur : si bob se connecte au serveur, il sera chrooté dans "/sftp/geeks/bob".+Le %u est la variable désignant l'identifiant de l'utilisateur. Si bob se connecte au serveur, il sera chrooté dans "/sftp/geeks/bob".
  
 Maintenant que la configuration d'OpenSSH est faite, nous pouvons ajouter/configurer les comptes de nos clients. Maintenant que la configuration d'OpenSSH est faite, nous pouvons ajouter/configurer les comptes de nos clients.
 +\\
  
-=== Configuration des comptes utilisateurs ===+==== Configuration des comptes utilisateurs ====
  
 Tout d'abord, si le groupe "geeks" n'existe pas, il faut le créer : Tout d'abord, si le groupe "geeks" n'existe pas, il faut le créer :
Ligne 48: Ligne 56:
 <code>useradd -g geeks -d /bob -s /usr/libexec/sftp-server bob</code> <code>useradd -g geeks -d /bob -s /usr/libexec/sftp-server bob</code>
  
-Bob :+bob :
  
   * fait partie du groupe "geeks",   * fait partie du groupe "geeks",
   * son home est "/bob" donc "/sftp/geeks/bob" d'après ''/etc/sshd_config'' puisqu'il ne s'y connectera qu'en SSH,   * son home est "/bob" donc "/sftp/geeks/bob" d'après ''/etc/sshd_config'' puisqu'il ne s'y connectera qu'en SSH,
-  * et son shell est "/usr/libexec/sftp-server" (le chemin de ce shell peut être différent suivant les distributions). Ce faux shell permet de donner accès **uniquement** au protocole SFTP donc bob ne pourra pas avoir accès à la ligne de commande. Le faux shell /bin/false ne fonctionne pas dans ce cas.+  * et son shell est "/usr/libexec/sftp-server" (le chemin de ce shell peut être différent suivant les distributions). \\  
 +Ce faux shell permet de donner accès **uniquement** au protocole SFTPdonc bob ne pourra pas avoir accès à la ligne de commande, car le faux shell /bin/false ne fonctionne pas dans ce cas.
  
 Nous lui donnons un mot de passe : Nous lui donnons un mot de passe :
Ligne 60: Ligne 69:
 Bob peut maintenant se connecter à "<nowiki>sftp://bob@<serveur></nowiki>" Bob peut maintenant se connecter à "<nowiki>sftp://bob@<serveur></nowiki>"
  
-Cependant un petit inconvénient peut ennuyer : le chemin chrooté doit obligatoirement appartenir à "root:root" avec les droits "rwxr-xr-x" soit ''chmod 755''. Dans ce cas, l'administrateur sera obligé de faire un répertoire dans chaque "home" avec des droits en lecture/écriture pour que chaque client puissent envoyer des fichiers. +Un petit inconvénient peut ennuyer : \\  
-Une autre solution est possible, mais peut ennuyer aussi remplacer la ligne suivante de ''/etc/ssh/sshd_config'' :+Le chemin chrooté doit obligatoirement appartenir à "root:root" avec les droits "rwxr-xr-x" soit ''chmod 755''\\  
 +Dans ce cas, l'administrateur sera obligé de faire un répertoire dans chaque "home" avec des droits en lecture/écriture pour que chaque client puissent envoyer des fichiers. 
 + 
 +Une autre solution est possible, mais peut ennuyer également \\ 
 +Il s'agit de remplacer dans ''/etc/ssh/sshd_config'' la ligne suivante :
  
 <code>ChrootDirectory /sftp/geeks/%u</code> <code>ChrootDirectory /sftp/geeks/%u</code>
  
-par+par :
  
 <code>ChrootDirectory /sftp/geeks</code> <code>ChrootDirectory /sftp/geeks</code>
  
-Dans ce cas, les clients seront chrooté dans le répertoire "/sftp/geeks" uniquement mais pourront faire tout ce qu'ils veulent dans leur home qui leur appartiendront.+Dans ce cas, les clients seront chrootés dans le répertoire "/sftp/geeks" uniquement mais pourront faire tout ce qu'ils veulent dans le /home qui leur appartient. 
 + 
 +==== Conclusion ====
  
 Même si la configuration d'un serveur SFTP est moins flexible qu'un serveur FTP classique, nous avons pu voir qu'elle est très facile à mettre en œuvre et convient pour un petit serveur perso. Même si la configuration d'un serveur SFTP est moins flexible qu'un serveur FTP classique, nous avons pu voir qu'elle est très facile à mettre en œuvre et convient pour un petit serveur perso.
tuto/configurer_serveur_sftp.1260764402.txt.gz · Dernière modification : 2009/12/14 05:20 de Thomas
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0