Installation Ftp ubuntu serveur

Installation Ftp ubuntu serveur

installation ftp ubuntu serveur 0

A quoi sert l'installation d'un serveur FTP

La réponse la plus logique qui est en générale donnée est la possibilité d'envoyer des fichiers sur son serveur. La réponse n'est qu'à moitié exacte. L'envoie de fichiers peut très bien se faire via une connection ssh avec le compte root. Vous aurez cependant 2 problèmes

  • Les droits sur les dossiers et fichiers seront donnés à "root" ce qui signifie qu'apache/php (identifié sous www-data' n'aura aucun droit d'écriture)
  • Vous ne pouvez pas restreindre l'accès à une dossier particulier comme par exemple www

Nous allons donc décrire dans ce présent tutoriel l'installation d'un serveur FTP avec droit apache/php

Pour rappel le changement de propriétaire d'un fichier dossier se fait de la manière suivante

chown www-data:www-data /var/www

et de manière récursive (dossiers + sous dossiers)

chown -R www-data:www-data /var/www

Installation de vsftp (very secured ftp)

apt-get install vsftpd

Une fois vsftp installé il vous faudra créer une utilisateurs avec des droits spécifiques. Afin de sécuriser l'ensemble nous allons utiliser la librairie d'encrypatge Berkeley (ainsi que les tools associés). Celle ci n'étant pas disponible dans les paquets officiels, le plus simple est d'utiliser la commande wget et de l'installer via la commande dpkg.

wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/d/db6.0/libdb6.0_6.0.19-3ubuntu1_amd64.deb
dpkg -i libdb6.0_6.0.19-3ubuntu1_amd64.deb
apt-get -f install
wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/d/db6.0/db6.0-util_6.0.19-3ubuntu1_amd64.deb
dpkg -i db6.0-util_6.0.19-3ubuntu1_amd64.deb
apt-get -f install

Si la librairie n'est pas à jour vous pourrez trouver la plus récente dans les packages universe d'ubuntu :

http://packages.ubuntu.com/fr/trusty/database/

Création d'un user (utilisateur ftp)

Nous allons créer deux dossiers

  • /etc/vsftpd/users.conf/ dans lequel sera présente notre utilisateur avec les droits et les accès aux répertoires
  • /etc/vsftpd/ dans lequel nous allons créer l'utilisateur avec son mot de passe encrypté
mkdir /etc/vsftpd
mkdir /etc/vsftpd/users.conf
vi /etc/vsftpd/users

Dans ce fichier vous devez renseigner l'identifiant et le mot de passe

admin
un_mot_de_passe
admin2
un_mot_de_passe2

Attention ! il ne faut surtout pas ajouter de saut de ligne supplémentairement vide

Nous encryptons le fichier

db6.0_load -T -t hash -f /etc/vsftpd/users /etc/vsftpd/users.db

Puis nous restreignons les droits

chmod 600 /etc/vsftpd/users
chmod 600 /etc/vsftpd/users.db

Enfin nous donnons des droits d'accès aux fichiers en créant le fichier admin (admin2 ou tout autre identifiant d'utilisateur choisis précédemment)

vi /etc/vsftpd/users.conf/admin

Nous remplissons ce fichier de la manière suivante

anon_world_readable_only=NO
local_root=/var/www/
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

Ou local_root sera le dossier auquel l'utilisateur admin aura accès

Nous éditons le fichier vsftpd dans le dossier pam.d afin de donner le chemin vers le fichier users.db précédement créé (sans l'extention .db)

vi /etc/pam.d/vsftpd


Commenter l'ensemble du fichier et ajouter ces deux lignes à la fin


auth    required   pam_userdb.so  db=/etc/vsftpd/users
account required    pam_userdb.so  db=/etc/vsftpd/users

Configuration de vsftpd

Dernière étape, il suffit de configurer le fichier vsftpd.conf. Les lignes

  • guest_username=www-data et nopriv_user=www-data

permettent d'affecter www-data (soit le couple apache/php) comme propriétaire des fichiers envoyé via ftp

vi /etc/vsftpd.conf

Vous devrez activer les élements suivant dans le fichier  vsftpd.conf



# Pas d'accès anonyme, que des utilisateurs locaux
anonymous_enable=NO
local_enable=YES
# Active les utilisateurs virtuels
# Vsftpd utilise en fait l'utilisateur www-data
guest_enable=YES
guest_username=www-data
nopriv_user=www-data
write_enable=YES
# On restreint l'utilisateur à son dossier de connexion
chroot_local_user=YES
# Utilisation de PAM pour l'authentification
pam_service_name=vsftpd
# Configuration par utilisateur
user_config_dir=/etc/vsftpd/users.conf
allow_writeable_chroot=YES

 Rendre les fichiers htaccess / htpasswd visible

Pour pouvoir voir et ouvrir les fichiers htaccess et htpasswd visible avec votre logiciel ftp il suffit de rajouter dans le fichier conf de vsftpd les lignes suivantes

force_dot_files=YES
 

 

 

  Installation Ftp ubuntu serveur, publié par Johndoe le 21 Novembre 2015
Johndoe
1 COMMENTAIRES
jenna

Un tuto aussi bien expliqué c'est juste Amazing !

ECRIRE UN COMMENTAIRE :