GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie ProFTPD unter CentOS 7.0

Dieses Dokument beschreibt die Installation und Konfiguration von ProFTPD in CentOS 7.0 Server. ProFTPD ist ein FTP-Daemon für Unix und unixähnliche Betriebssysteme. ProFTPD wird unter der GNU Public License (GPL) entwickelt, veröffentlicht und vertrieben, die es im Grunde als freie Software etabliert, was bedeutet, dass es verkauft, lizenziert und anderweitig auf jede gewünschte Weise manipuliert werden kann, solange der vollständige Quellcode mitgeliefert wird ProFTPD-Pakete oder wird von allen Websites zur Verfügung gestellt, die vorkompilierte Binärdateien verteilen. Die Software kann jederzeit von jedem modifiziert werden, solange alle abgeleiteten Werke ebenfalls unter der GNU Public License lizenziert sind.

1 Vorbemerkung

Dieses Tutorial basiert auf dem CentOS 7.0-Server, daher sollten Sie eine grundlegende CentOS 7.0-Serverinstallation einrichten, bevor Sie mit diesem Tutorial fortfahren. Das System sollte eine statische IP-Adresse haben. Ich verwende in diesem Tutorial 192.168.0.100 als IP-Adresse und server1.example.com als Hostnamen.

2 Installieren Sie ProFTPD

2.1 Installation:

Aktivieren Sie dazu EPEL wie folgt:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

Zuerst installieren wir ProFTPD und OpenSSL wie folgt:

yum install -y proftpd openssl proftpd-utils

Wir müssen die Dienste starten

systemctl start proftpd.service
systemctl enable proftpd.service

Zusätzlich in CentOS 7.0 müssen wir Firewall-cmd für den FTP-Dienst wie folgt konfigurieren:

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

Wir können die ProFTPD-Version wie folgt überprüfen:

proftpd -v
[[email protected] ~]# proftpd -v
ProFTPD Version 1.3.5
[[email protected] ~]#

2.2 Erstellen von ProFTPD-Benutzern

Dazu werde ich eine Gruppe ftpgroup und einen Benutzer srijan für ProFTPD erstellen. Ich werde den Benutzer srijan mit Home-Verzeichnis als /ftpshare

einschränken
groupadd ftpgroup

Als nächstes werde ich den Benutzer srijan in ftpgroup hinzufügen:

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare
passwd srijan
[[email protected] ~]# passwd srijan
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]# 

Als nächstes müssen wir das Verzeichnis vor dem Entfernen und Umbenennen seines Inhalts durch einen beliebigen Benutzer schützen, also werden wir die Verzeichnisberechtigungen wie folgt ändern:

chmod -R 1777 /ftpshare/

Jetzt sind wir bereit für die ProFTPD-Verbindung

Jetzt können wir uns mit dem Benutzer srijan und dem Passwort unter ftp://192.168.0.100

anmelden








3 Aktivieren von TLS in ProFTPD

Um TLS in ProFTPD zu aktivieren, öffnen Sie /etc/proftpd/proftpd.conf, bevor Sie die Datei bearbeiten. Es ist besser, die Originaldatei zu sichern und dann die Datei wie unten gezeigt zu bearbeiten:

cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf

Geben Sie die Einträge wie gezeigt ein

[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]

#
<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]

Ich habe 6000- und 6100-Ports hinzugefügt, um den passiven FTP-Modus zuzulassen, ebenso werde ich den passiven Modus über den CentOS-Firewalld-Dienst wie folgt zulassen:

firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload

Wir können den Status der Ports wie folgt überprüfen:

firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#

Zusätzlich müssen wir SELINUX mitteilen, dass es das Lesen/Schreiben der Dateien erlauben soll.

setsebool -P allow_ftpd_full_access=1

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich werde es in /etc/pki/tls/certs erstellen, wir können das SSL-Zertifikat wie folgt generieren:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[[email protected] certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generieren eines privaten 1024-Bit-RSA-Schlüssels
....................................+++ ++
.........++++++
Neuen privaten Schlüssel in '/etc/pki/tls/certs/proftpd.pem' schreiben
- ----
Sie werden gleich aufgefordert, Informationen einzugeben, die
in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN .
Es gibt einige Felder, aber Sie können einige leer lassen
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, bleibt das Feld leer.
-----
Ländername (2-Buchstaben-Code) [XX]:<--DE
Staats- oder Provinzname (vollständiger Name) []:<-- Hamburg
Ortsname (z. B. Stadt) [Standardstadt]: <-- Lüneberg
Organisationsname (z. B. Unternehmen) [Standardunternehmen GmbH]:<-- ISPConfig
Name der Organisationseinheit (zB Abschnitt) []:<-- Entwicklung
Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:<-- server1.example.com
E-Mail-Adresse []:<-- [E-Mail-geschützt]
[[E-Mail-geschützte] Zertifikate]#

Geben Sie die obigen Werte nach Ihrer Wahl in Rot ein, ich habe nur ein Beispiel gegeben.

Jetzt werde ich aus Sicherheitsgründen die Zertifikate wie folgt nur lesbar machen:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Abschließend starten Sie den ProFTPD-Dienst wie folgt neu:

systemctl restart proftpd.service

Wir können uns mit der Filezilla-Software mit dem ProFTPD-Server verbinden, Sie müssen Filezilla auf dem Client installiert haben, um sich mit dem Server zu verbinden. Öffnen Sie Filezilla und geben Sie die Details wie folgt ein:

Details werden

Host =192.168.0.100
Protokoll =FTP
Benutzer =srijan
Port =kann leer sein, wenn Sie keinen anderen Port als 21 angepasst haben
Password =ftppassword (gerade oben erstellt)

Hinweis:Da wir unsere Verbindung im obigen Schritt verschlüsselt haben, verwenden wir die Verschlüsselung mit Explizites FTP über TLS erforderlich

Wenn Sie TLS nicht konfiguriert haben, können Sie Plain FTP verwenden verwenden



Es wird gefragt, ob Sie den Zertifikaten vertrauen möchten, drücken Sie OK




Es wird mit TLS mit dem freigegebenen FTP-Verzeichnis verbunden Verbindung.


4 Anonymer FTP-Zugriff in ProFTPD

Wir können ein anonymes FTP-Konto in ProFTPD erstellen, fügen Sie einfach diese Einträge in die ProFTPD-Konfigurationsdatei hinzu:

nano /etc/proftpd.conf

Und fügen Sie diese Einträge am Ende der Datei hinzu,

[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>

Jetzt müssen wir die Dienste neu starten:

systemctl restart proftpd.service

Verbinden Sie es nun über Filezilla wie folgt:

Hinweis:Da wir unsere Verbindung im obigen Schritt verschlüsselt haben, verwenden wir die Verschlüsselung mit Explizites FTP über TLS erforderlich

Wenn Sie TLS nicht konfiguriert haben, können Sie Plain FTP verwenden verwenden

Drücken Sie Verbinden:

Es wird gefragt, ob Sie den Zertifikaten vertrauen möchten, drücken Sie OK

 

Wir haben uns erfolgreich mit dem Server mit dem anonymen Benutzer verbunden.

Herzliche Glückwünsche! Jetzt haben wir die ProFTPD-Serverumgebung in CentOS 7.0 erfolgreich konfiguriert :)

  • CentOS:http://www.centos.org/
  • ProFTPD:http://www.proftpd.org/

Cent OS
  1. So installieren Sie PHP 7, 7.2 und 7.3 auf CentOS 7

  2. So installieren Sie Java 11 und 12 unter CentOS 7

  3. So installieren Sie Wine 4.0 unter CentOS 7

  4. So installieren Sie ProFTPD unter CentOS 7

  5. So installieren Sie einen FTP-Server unter CentOS 7

So installieren Sie Slack unter CentOS 8

So installieren Sie Java unter CentOS 7

So installieren Sie Ruby unter CentOS 7

So installieren Sie R unter CentOS 7

So installieren Sie R unter CentOS 8

So installieren Sie ProFTPD mit TLS auf CentOS 7.2