GNU/Linux >> Tutoriels Linux >  >> OpenSuse

Comment installer Pure-FTPd avec TLS et des utilisateurs virtuels sur OpenSUSE Leap 42.1

Pure-FTPd est un serveur FTP gratuit et léger basé sur Troll-FTPd, le développement a commencé en 2001 et il fonctionne sur de nombreux systèmes d'exploitation de type Unix, notamment Linux, *BSD, Solaris et HP-UX. Pure-FTPd possède de nombreuses fonctionnalités telles que les domaines virtuels, le répertoire personnel chroot, les utilisateurs virtuels, la prise en charge TLS/SSL, les quotas virtuels et bien d'autres.

Dans ce tutoriel, je vais vous montrer comment installer et configurer pure-ftpd sur OpenSUSE Leap 42.1. Je vais vous montrer comment configurer pure-ftpd avec TLS/SSL, puis configurer des utilisateurs virtuels.

Prérequis

  • OpenSUSE Leap 42.1
  • Privilèges root
  • OpenSUSE, connaissances Zypper

Étape 1 - Installer et configurer SuSEfirewall2

SuSEfirewall2 est un script pour générer la configuration du pare-feu dans le fichier '/etc/sysconfig/SuSEfirewall2'. Nous allons installer SuSEfirewall2 puis ouvrir les ports pour SSH et le service FTP.

Installez SuSEfirewall2 avec zypper :

zypper in SuSEfirewall2

Ensuite, éditez le fichier de configuration '/etc/sysconfig/SuSEfirewall2' avec vim :

vim /etc/sysconfig/SuSEfirewall2

Ajoutez les nouveaux services ssh et FTP à la ligne 253 :

FW_SERVICES_EXT_TCP="ssh ftp"

Enregistrez et quittez.

Démarrez maintenant SuSEfirewall2 avec la commande systemctl :

systemctl start SuSEfirewall2

Étape 2 - Installer et configurer Pure-FTPd

Dans cette étape, nous allons installer pure-ftpd avec OpenSSL pour la configuration TLS/SSL et configurer l'utilisateur et le groupe pure-ftpd.

Installez les applications avec zypper comme indiqué ci-dessous :

zypper in pure-ftpd openssl

Ajoutez maintenant le nouveau groupe 'ftpgroup ' et le nouvel utilisateur du maître 'FTP user' appelé 'ftpuser ' au groupe.

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Allez dans le répertoire pure-ftpd et éditez le fichier de configuration 'pure-ftpd.conf' avec l'éditeur vim :

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Remplacez la valeur de la ligne 81 par "oui" pour désactiver l'utilisateur anonyme.

NoAnonymous                 yes

Décommentez la ligne 131 pour configurer le backend. Pure-ftpd prend en charge MySQL, PostgreSQL et LDAP en tant que backend, mais dans ce didacticiel, nous utiliserons "PureDB" pour le backend.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

Commentez la ligne PAMAuthentication pour désactiver l'authentification PAM à la ligne 141 car nous utiliserons PureDB comme source d'authentification.

#PAMAuthentication             yes

Enregistrez et quittez.

Étape 3 - Configurer TLS/SSL pour Pure-FTPd

Générez un nouveau fichier de certificat auto-signé dans le répertoire '/etc/ssl/private' avec la commande openssl :

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Modifiez les autorisations du fichier de certificat en 0600 :

chmod 600 /etc/ssl/private/pure-ftpd.pem

Ensuite, revenez au répertoire pure-ftpd et modifiez le fichier de configuration pour activer la prise en charge TLS/SSL pour la connexion client.

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Décommentez la ligne 439 pour activer TLS.

TLS                      1

Décommentez la ligne 449 et ajoutez une nouvelle option pour la rendre plus sécurisée.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Décommentez la ligne 445 pour définir le fichier de certificat.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Enregistrez et quittez.

Démarrez maintenant pure-ftpd avec la commande systemctl :

systemctl start pure-ftpd

Étape 4 - Configurer les utilisateurs virtuels

Pure-FTPd fournit des fonctionnalités pour créer et utiliser des utilisateurs virtuels au lieu d'utilisateurs réels du système (Linux). Pure-FTPd fournit plusieurs backends d'authentification et la configuration de l'utilisateur virtuel dépend du backend utilisé par le serveur. À l'étape 2, nous avons défini 'PureDB' comme backend.

Nous pouvons créer un nouvel utilisateur virtuel avec la commande 'pure-pw' fournie par pure-ftpd. Dans cette étape, nous allons créer un nouvel utilisateur virtuel nommé 'shiro' avec le répertoire '/srv/ftp/shiro' comme répertoire de base ftp et l'utilisateur est chrooté dans ce répertoire afin qu'il ne puisse pas accéder aux autres répertoires système.

Créez le nouvel utilisateur virtuel avec pure-pw :

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

Créez le répertoire pour l'utilisateur virtuel et changez le propriétaire de ce répertoire en « utilisateur FTP » maître.

mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiro

Ensuite, nous devons enregistrer les modifications avec la commande ci-dessous :

pure-pw mkdb

Maintenant que l'utilisateur shiro est prêt à être utilisé, nous pouvons utiliser FTPp à partir de la ligne de commande ou FileZilla pour l'interface graphique pour se connecter au serveur.

Remarque :

pure-pw a plus d'options de commande, vous pouvez utiliser 'pure-pw help ' pour voir toutes les commandes utiles.

Étape 5 - Tester

J'utiliserai la commande FTP dans le terminal pour les tests. Ouvrez votre terminal et tapez "ftp":

ftp

Entrez ensuite l'ip du serveur pure-ftpd :

open 192.168.43.69

Connectez-vous avec l'utilisateur 'shiro' et le mot de passe, puis appuyez sur 'Entrée'.

Essayez de télécharger le fichier avec la commande 'put' :

put picture.png mypict.png

Vous verrez maintenant le fichier mypict.png sur le serveur avec la commande ls ci-dessous :

ls


OpenSuse
  1. Comment installer PostgreSQL et phpPgAdmin sur OpenSUSE Leap 42.1

  2. Comment installer Lighttpd avec PHP5 FastCGI et MySQL sur openSUSE 12.1

  3. Comment installer Nginx avec PHP-FPM et MySQL sur openSUSE 12.1

  4. Comment installer et utiliser Podman dans OpenSUSE Leap 15.3

  5. Comment installer Java 17 dans OpenSUSE Leap 15.3

Comment installer et configurer OpenVPN sur OpenSUSE Leap 42.1

Comment installer WordPress avec HHVM et Nginx sur OpenSUSE Leap 42.1

Comment installer un bureau KDE OpenSUSE Leap 42.1

Comment installer ownCloud 9 avec Nginx sur OpenSUSE Leap 42.1

Comment installer Skype sur openSUSE Leap

Comment installer Dropbox sur openSUSE Leap 42.2