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

So richten Sie Pure-FTPD mit MySQL unter CentOS und RedHat ein

Pure-FTPd ist ein kostenloser und sicherer FTP-Server. Es bietet keinen nutzlosen Schnickschnack, sondern konzentriert sich auf Effizienz und Benutzerfreundlichkeit. Es bietet einfache Antworten auf allgemeine Anforderungen sowie einzigartige nützliche Funktionen für Privatanwender und Hosting-Provider.

Diese Anleitung hilft Ihnen, Pure-FTPD mit MySQL als Benutzerdatenbank einzurichten. Bietet auch detaillierte Anweisungen zum Erstellen von Benutzern und Tests.

Schritt 1:Installieren Sie MySQL (überspringen, falls bereits vorhanden)

Zuerst müssen wir MySQL mit den folgenden Befehlsschritten auf unserem System installieren.

# yum install mysql mysql-server

Klicken Sie hier für detaillierte Anweisungen zur Installation von MySQL.

Schritt 2:Pure-FTPD installieren

Verwenden Sie den folgenden Befehl, um pure-ftpd auf Ihrem Linux-System zu installieren.

# yum install pure-ftpd

Schritt 3:MySQL-Benutzer und -Datenbank erstellen

Nach der Installation des pure-ftpd-Pakets können Sie eine MySQL-Datenbank, eine Tabelle und einen Benutzer zum Speichern von Benutzerinformationen erstellen.

# mysql -u root -p
Enter password:

mysql> CREATE DATABASE pureftpd;
mysql> GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
mysql> FLUSH PRIVILEGES;
mysql> use pureftpd;
mysql> CREATE TABLE `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `User` varchar(32) NOT NULL DEFAULT '',
  `Password` varchar(64) NOT NULL DEFAULT '',
  `Uid` int(3) NOT NULL DEFAULT '500',
  `Gid` int(3) NOT NULL DEFAULT '500',
  `Dir` varchar(255) NOT NULL DEFAULT '',
  `QuotaSize` int(4) NOT NULL DEFAULT '50',
  `Status` enum('0','1') NOT NULL DEFAULT '1',
  `ULBandwidth` int(2) NOT NULL DEFAULT '100',
  `DLBandwidth` int(2) NOT NULL DEFAULT '100',
  `Date` date NOT NULL DEFAULT '0000-00-00',
  `LastModif` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `User` (`User`),
  KEY `Uid` (`Uid`),
  KEY `Gid` (`Gid`),
  KEY `Dir` (`Dir`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

mysql> quit

Schritt 4:Pure-FTPD konfigurieren

Wir werden pure-ftpd so konfigurieren, dass Benutzeranmeldedaten in der MySQL-Datenbank gespeichert werden. Bearbeiten Sie zunächst die Hauptkonfigurationsdatei von pure-ftpd

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

und folgende Änderungen vornehmen.

   ChrootEveryone              yes
   MaxClientsNumber            50
   MaxClientsPerIP             2
   VerboseLog                  yes
   AnonymousOnly               no
   NoAnonymous                 yes
   MaxIdleTime                 15
   MySQLConfigFile             /etc/pure-ftpd/pureftpd-mysql.conf
   PAMAuthentication    	no
   UnixAuthentication     	no

Nachdem Sie Änderungen an der pure-ftpd-Konfiguration vorgenommen haben, lassen Sie die mysql-Konfigurationsdatei von pure-ftpd bearbeiten

# vim /etc/pure-ftpd/pureftpd-mysql.conf

und folgende Variablen aktualisieren

   MYSQLUser       pureftpd
   MYSQLPassword   _password_
   MYSQLDatabase   pureftpd
   MYSQLCrypt      md5

Schritt 5:Pure-FTPD-Setup testen

In diesem Schritt haben wir die reine FTP-Einrichtung abgeschlossen. Jetzt müssen wir unsere Einrichtung testen, indem wir unser erstes FTP-Konto erstellen. Um unser Setup zu testen, müssen wir zuerst einen Benutzer im Linux-System erstellen. Danach werden wir diese Benutzer-UID und -GID verwenden, um unsere virtuellen FTP-Konten zu erstellen.

Benutzerkonto erstellen:

# useradd demouser1
# passwd demouser1

UID und GID dieses Kontos abrufen:

# cat /etc/passwd | grep demouser1
demouser1:x:504:505::/home/demouser1:/bin/bash

Gemäß der obigen Ausgabe haben wir festgestellt, dass die UID von usres 504 und die GID 505 ist.

FTP-Konto erstellen
Melden Sie sich beim MySQL-Server an oder greifen Sie über phpMyAdmin zu und erstellen Sie Ihr erstes Konto. Für dieses Tutorial verwende ich die Befehlszeile.

# mysql -u root -p
Enter password:

mysql> INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '504', '505', '/home/demouser1',
'20', 2, '10', '10', now(), '');
mysql> quit

Gemäß obiger Abfrage haben wir erfolgreich unser erstes FTP-Konto ftpuser1 erstellt mit Passwort _password_ ,

Mit FTP-Server verbinden Verwenden Sie ein neu erstelltes FTP-Konto und versuchen Sie, eine Testdatei hochzuladen.

C:> ftp ftp.tecadmin.net

Connected to ftp.tecadmin.net.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 21:39. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
User (ftp.tecadmin.net:(none)): ftpuser1
331 User ftpuser1 OK. Password required
Password:
230 OK. Current restricted directory is /
ftp> put test.txt
200 PORT command successful
150 Connecting to port 57216
226-File successfully transferred
226 0.004 seconds (measured here), 0.65 Mbytes per second
ftp: 2593 bytes sent in 0.00Seconds 2593.00Kbytes/sec.
ftp> bye
221-Goodbye. You uploaded 3 and downloaded 0 kbytes.
221 Logout.
C:>

Gemäß den obigen Ergebnissen haben wir uns erfolgreich mit dem FTP-Benutzer verbunden und eine Testdatei hochgeladen. Lassen Sie uns die Berechtigungen dieser Dateien auf dem Server überprüfen.

# ls -l /home/demouser1/test.txt
-rw-r--r-- 1 demouser1 demouser1 2525 Dec  4 21:39 /home/demouser1/test.txt

Jetzt können Sie sehen, dass die Datei die Berechtigungen dieses Benutzers erhält, dessen UID, GID wir für diese FTP-Konten verwendet haben.


Cent OS
  1. So richten Sie LogAnalyzer mit Rsyslog und MySQL ein

  2. So richten Sie Opencart auf Rocky Linux/Centos 8 mit Apache, PHP, Mysql (LAMP Stack) ein

  3. So ersetzen Sie MySQL durch MariaDB unter CentOS 6

  4. So richten Sie die MySQL-Replikation unter CentOS ein

  5. So installieren Sie MySQL 5.6 unter CentOS 6.x

So richten Sie Kubernetes 1.5 mit kubeadm unter CentOS ein

So richten Sie Percona-Cluster mit HAproxy Loadbalancer unter CentOS 7 ein

So richten Sie MariaDB Galera Cluster mit HAproxy unter CentOS 7 ein

So richten Sie MySQL mit Docker unter Linux ein

DRBD mit MySQL Centos 8

So richten Sie die MySQL-Replikation in RHEL/Centos ein