Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:vsftpd [30/09/2014 19:30] Hypathie [Installation et configuration] |
utilisateurs:hypathie:tutos:vsftpd [01/10/2014 10:59] Hypathie supprimée |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | |||
- | ===== Installation et configuration ===== | ||
- | ===Installation=== | ||
- | <code root>apt-get install vsftpd</code> | ||
- | |||
- | Pendant la configuration on arrête le serveur : | ||
- | |||
- | <code root>/etc/init.d/vsftpd stop</code> | ||
- | |||
- | ===Configuration=== | ||
- | Le but ici est d'utiliser le serveur FTP uniquement avec des utilisateurs virtuels, et non avec les utilisateurs locaux du système Unix.\\ | ||
- | |||
- | (Se faire une sauvegarde du fichier de configuration) | ||
- | |||
- | * Éditer le fichier de configuration /etc/vsftpd.conf | ||
- | <code root>vim /etc/vsftpd.conf</code> | ||
- | On dé-commente les lignes suivantes : | ||
- | <code> | ||
- | anonymous_enable=NO # Par défaut, mais là on met en place des utilisations virtuels | ||
- | local_enable=YES #autoriser les utilisateurs locaux à utiliser le FTP, | ||
- | # y compris les utilisateurs virtuels | ||
- | write_enable=NO # On désactive l'écriture | ||
- | nopriv_user=ftpsecure # (1) | ||
- | chroot_local_user=YES # emprisonner l'utilisateur dans son propre répertoire | ||
- | |||
- | #ajout pour utilisateur ftpsecure | ||
- | guest_enable=YES | ||
- | guest_username=ftpvirtual | ||
- | |||
- | #Ajout pour activer la configuration par utilisateur | ||
- | user_config_dir=/etc/vsftpd_user_conf | ||
- | </code> | ||
- | > (1) : Le démon vsftpd peut utiliser un utilisateur sans privilège. Par défaut, il utilisera nobody, comme tout autre démon : en dé-commentant, on lui dédie un utilisateur comme ftpsecure. | ||
- | |||
- | ===On dédie l'utilisateur "ftpsecure"=== | ||
- | <code root>useradd -r -s /bin/false ftpsecure</code> | ||
- | |||
- | ===Création d'un répertoire utilisateur ftp === | ||
- | |||
- | <code root>useradd -m ftpvirtual</code> | ||
- | |||
- | ===Ajout des droits en écriture sur le répertoire ftpvirtual === | ||
- | <code root>chmod a-w /home/ftpvirtual/</code> | ||
- | |||
- | ===Créer le répertoire de configuration de l'utilisateur virtuel=== | ||
- | <code root>mkdir /etc/vsftpd_user_conf</code> | ||
- | |||
- | ====Configurer SSL pour vsFTPd ==== | ||
- | Il faut éditer le fichier de configuration de vsftpd. | ||
- | |||
- | <code root>vim /etc/vsftpd.conf</code> | ||
- | |||
- | <code> | ||
- | ssl_enable=YES | ||
- | rsa_private_key_file=/etc/ssl/private/vsftpd.key.pem | ||
- | rsa_cert_file=/etc/ssl/certs/vsftpd.cert.pem</code> | ||
- | |||
- | |||
- | ===Création des clés privée/publique === | ||
- | |||
- | <code root>openssl genrsa -des3 -out /etc/ssl/private/vsftpd.key.pem</code> | ||
- | |||
- | On donne les droits de lecture : | ||
- | <code root>chmod 400 /etc/ssl/private/vsftpd.key.pem</code> | ||
- | |||
- | ===Création du certificat=== | ||
- | <code root>openssl req -new -key /etc/ssl/private/vsftpd.key.pem -out /etc/ssl/certs/vsftpd.cert.pem</code> | ||
- | |||
- | ====Créer une base de donnée ==== | ||
- | <code root>cd /etc/</code> | ||
- | |||
- | <code root>vim vsftpd_logins.txt</code> | ||
- | <code>user | ||
- | password | ||
- | user2 | ||
- | password2</code> | ||
- | |||
- | * Installer les outils pour une base de donnée de type Berkeley : | ||
- | |||
- | <code root>apt-get install db-util</code> | ||
- | |||
- | * Convertir le fichier utilisateur/mot-de-passe : | ||
- | <code root>db_load -T -t hash -f /etc/vsftpd_logins.txt /etc/vsftpd_login.db</code> | ||
- | |||
- | * Modifier les droits des deux fichiers : | ||
- | <code root>chmod 600 /etc/vsftpd_login.txt /etc/vsftpd_login.db</code> | ||
- | |||
- | |||
- | ====Créer un fichier de règle PAM ==== | ||
- | Cela permet d'utiliser cette base de données lors de l'authentification des utilisateurs. | ||
- | |||
- | * Supprimer le fichier PAM existant : | ||
- | |||
- | <code root>mv /etc/pam.d/vsftpd /home/hypathie/PAM-OLD</code> | ||
- | |||
- | * En éditer un nouveau : | ||
- | <code root>vim /etc/pam.d/vsftpd</code> | ||
- | <code></code> | ||
- | |||
- | ====Créer un fichier de configuration par utilisateur==== | ||
- | Pour l'instant, l'utilisateur virtuel peut lire les fichiers présents dans le répertoire de dépôt FTP. | ||
- | On va lui donner les droits d'uploader lui-même des fichiers. | ||
- | |||
- | Pour cela, chaque utilisateur virtuel devra avoir sa propre configuration située dans le répertoire /etc/vsftpd_user_conf. | ||
- | |||
- | * Editer le fichier de configuration d'un utilisateur virtuel : | ||
- | |||
- | <code root>vim /etc/vsftpd_user_conf/user</code> | ||
- | <code> | ||
- | anon_world_readable_only=NO | ||
- | write_enable=YES | ||
- | anon_upload_enable=YES | ||
- | anon_mkdir_write_enable=YES | ||
- | anon_other_write_enable=YES | ||
- | </code> | ||
- | |||
- | ====Redémarrer et tester==== | ||
- | * Redémarrer le service vsftpd : | ||
- | <code root>/etc/init.d/vsftpd start</code> | ||
- | |||
- | * Se connecter au serveur : | ||
- | <code root>ftp localhost</code> | ||
- | |||
- | ===== Utilisation ===== | ||