純粋なFTPd 無料で安全なFTPサーバーです。無駄なベルやホイッスルは提供しませんが、効率と使いやすさに重点を置いています。一般的なニーズへの簡単な回答に加えて、個人ユーザーとホスティングプロバイダーに独自の便利な機能を提供します。
このガイド方法は、MySQLをユーザーデータベースとして使用してPure-FTPDをセットアップするのに役立ちます。また、ユーザーを作成してテストするための詳細な手順を提供します。
ステップ1:MySQLをインストールします(すでに持っている場合はスキップします)
まず、次のコマンド手順を使用してシステムにMySQLをインストールする必要があります。
# yuminstall mysql mysql-server
mysqlのインストールの詳細な手順については、ここをクリックしてください。
ステップ2:Pure-FTPDをインストールする
次のコマンドを使用して、Linuxシステムにpure-ftpdをインストールします。
# yuminstall pure-ftpd
ステップ3:MySQLユーザーとデータベースを作成する
pure-ftpdパッケージをインストールした後、ユーザー情報を保存するためのmysqlデータベース、テーブル、およびユーザーを作成しましょう。
#mysql -u root -p Enter password: mysql> CREATE DATABASEpureftpd ; mysql> GRANT ALL ONpureftpd .* to 'pureftpd '@'localhost' IDENTIFIED BY '_password_ '; mysql> FLUSH PRIVILEGES; mysql> usepureftpd ; 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
次の変更を行います。
ChrootEveryoneyes MaxClientsNumber50 MaxClientsPerIP2 VerboseLogyes AnonymousOnlyno NoAnonymousyes MaxIdleTime15 MySQLConfigFile/etc/pure-ftpd/pureftpd-mysql.conf PAMAuthenticationno UnixAuthenticationno
pure-ftpd構成を変更した後、pure-ftpdmysql構成ファイルを編集します
# vim /etc/pure-ftpd/pureftpd-mysql.conf
次の変数を更新します
MYSQLUserpureftpd MYSQLPassword_password_ MYSQLDatabasepureftpd MYSQLCryptmd5
ステップ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アカウント
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のユーザーのアクセス許可を取得していることがわかります。