GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOSおよびRedHatでMySQLを使用してPure-FTPDをセットアップする方法

純粋なFTPd 無料で安全なFTPサーバーです。無駄なベルやホイッスルは提供しませんが、効率と使いやすさに重点を置いています。一般的なニーズへの簡単な回答に加えて、個人ユーザーとホスティングプロバイダーに独自の便利な機能を提供します。

このガイド方法は、MySQLをユーザーデータベースとして使用してPure-FTPDをセットアップするのに役立ちます。また、ユーザーを作成してテストするための詳細な手順を提供します。

ステップ1:MySQLをインストールします(すでに持っている場合はスキップします)

まず、次のコマンド手順を使用してシステムにMySQLをインストールする必要があります。

# yum install mysql mysql-server

mysqlのインストールの詳細な手順については、ここをクリックしてください。

ステップ2:Pure-FTPDをインストールする

次のコマンドを使用して、Linuxシステムにpure-ftpdをインストールします。

# yum install pure-ftpd

ステップ3:MySQLユーザーとデータベースを作成する

pure-ftpdパッケージをインストールした後、ユーザー情報を保存するためのmysqlデータベース、テーブル、およびユーザーを作成しましょう。

# 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

ステップ4:Pure-FTPDを構成する

ユーザーのログイン情報をmysqlデータベースに保存するようにpure-ftpdを構成します。まず、pure-ftpdのメイン構成ファイルを編集します

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

次の変更を行います。

   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

pure-ftpd構成を変更した後、pure-ftpdmysql構成ファイルを編集します

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

次の変数を更新します

   MYSQLUser       pureftpd
   MYSQLPassword   _password_
   MYSQLDatabase   pureftpd
   MYSQLCrypt      md5

ステップ5:Pure-FTPDセットアップをテストする

このステップで、pure-ftpdのセットアップが完了しました。次に、最初のftpアカウントを作成してセットアップをテストする必要があります。セットアップをテストするには、最初にLinuxシステムでユーザーを作成する必要があります。その後、そのユーザーのUIDとGIDを使用して仮想ftpアカウントを作成します。

ユーザーアカウントの作成:

# useradd demouser1
# passwd demouser1

このアカウントのUIDとGIDを取得します:

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

上記の出力によると、users UIDは504、GIDは505であることがわかりました。

FTPアカウントを作成する
mysqlサーバーにログインするか、phpMyAdminを介してアクセスし、最初のアカウントを作成します。このチュートリアルでは、コマンドラインを使用しています。

# 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

上記のクエリに従って、最初のftpアカウント ftpuser1が正常に作成されました。 パスワード_password_

FTPサーバーに接続します 新しく作成したftpアカウントを使用して、テストファイルをアップロードしてみてください。

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:>

上記の結果に従って、ftpユーザーに正常に接続し、テストファイルをアップロードしました。サーバー上のそのファイルの権限を確認しましょう。

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

これで、ファイルがそのFTPアカウントに使用したUID、GIDのユーザーのアクセス許可を取得していることがわかります。


Cent OS
  1. RsyslogとMySQLを使用してLogAnalyzerをセットアップする方法

  2. Rocky Linux / Centos 8でApache、PHP、Mysql(LAMPスタック)を使用してOpencartをセットアップする方法

  3. CentOS 6.x に MySQL 5.6 をインストールする方法

  1. CentOS8にMySQLをインストールする方法

  2. CentOS6でMySQLをMariaDBに置き換える方法

  3. CentOSでMySQLレプリケーションを設定する方法

  1. CentOS7でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. CentOS8にMySQLをインストールする方法

  3. CentOS8でVSFTPDを使用してFTPサーバーをセットアップする方法