apt-get install proftpd ===== Installation ===== Le FTP (File Transfer Protocol) est un protocole de communication dédié à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau. Nous allons voir ici comment mettre en place un serveur FTP sur une machine virtuelle de Gandi. La première étape consiste à installer le logiciel ProFTP sur le serveur. apt-get install proftpd Si une erreur s'affiche, dans ce cas lancer un apt-get update. {{ fr:hosting:using-linux:tutorials:ubuntu:fr:photo1ftp.gif }} {{ http://img137.imageshack.us/img137/3286/proftpdecran1kh3.png }} Il est préférable de valider l'installation en standalone, ainsi le serveur FTP sera toujours à l'écoute. Dans le cas du choix inetd, le serveur FTP ne se lance qu'au moment où une connexion est initialisée. ===== Paramétrage ===== A l'aide d'un éditeur de texte type nano, éditez le fichier shells qui se trouve dans /etc/ et rajouter la ligne /bin/false {{ fr:hosting:using-linux:tutorials:ubuntu:fr:photo2ftp.gif }} Nano vous permettra d'éditer vos documents de type texte (comme vi mais en plus intuitif). L'installation se fait avec la commande apt-get install nano L'utilisation du shell "/bin/false" permet d'interdire l'accès au shell pour les utilisateurs ftp. Néanmoins, cette solution n'est pas satisfaisante en terme de sécurité. Pour vous en convaincre et trouver la parade, allez faire un tour sur le site de [[http://www.semicomplete.com/articles/ssh-security/ |Jordan Sissel]]. Pour notre exemple, nous allons créer les dossiers ftp, et les sous-domaines upload et download, avec les droits en lecture seule pour download et lecture/écriture pour upload, afin que les utilisateurs puissent y déposer des fichiers. cd /home/ftp/ mkdir download upload cd /home sudo chmod 755 ftp cd ftp chmod 755 download chmod 777 upload Voilà la création des dossiers et des droits terminée, passons à la création du compte "gandi" qui aura accès au FTP. useradd gandi -d /home/ftp -s /bin/false -m passwd gandi Il ne vous reste plus qu'à éditer le fichier /etc/proftpd/proftpd.conf avec nano pour modifier la configuration de votre serveur (adresse du port, nom du serveur, nombre de personnes qui peuvent s'y connecter...) En particulier, pour que chaque nouvel utilisateur Unix ait directement accès à son dossier /home/nom_utilisateur, il faut décommenter la ligne #DefaultRoot ~ du fichier de configuration. Dès lors, cet utilisateur ne pourra pas circuler librement dans l'arborscence, et sera limité à son /home/~ Le lancement du serveur se fait avec la commande suivante : sudo /etc/init.d/proftpd start Pour le stopper, remplacez start par stop, et pour le redémarrer utilisez restart. PS : Si le serveur ne démarre pas de suite après : /etc/init.d/proftpd restart Vous avez le message suivant : * Stopping ftp server proftpd [ OK ] * Starting ftp server proftpd - warning: unable to determine IP address of 'nameserver' - error: no valid servers configured - Fatal: error processing configuration file '/etc/proftpd/proftpd.conf' dans ce cas, éditer le fichier hosts vi /etc/hosts puis indiquer votre adresse ip entre ces deux phrases pour donner ceci : (n'oubliez pas de mettre une tabulation entre l'adresse ip et le nom du serveur) # --- Gandi DHCP Script --- 123.123.123.123 ganditest # --- End --- Enregistrez votre fichier puis redémarrer le serveur : /etc/init.d/proftpd restart Pour ceux qui sont plus "juniors" ou encore plus "visuels", nous vous conseillons cet également [[http://www.siteduzero.com/tutoriel-3-356283-creer-son-serveur-ftp.html|très bon tutoriel]] sur le site du zéro.