Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
tuto:configurer_serveur_sftp [2010/01/23 11:18] – smolski | tuto:configurer_serveur_sftp [2010/01/23 11:35] (Version actuelle) – smolski |
---|
<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 SFTP, donc 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 : |
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és dans le répertoire "/sftp/geeks" uniquement mais pourront faire tout ce qu'ils veulent dans le /home qui leur appartient. | 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. |