私は革新と新しいことを学ぶのが好きな人の一人です。少し前にFTPサーバーをインストールして構成する必要があり、いつもとは違う方法でそれを行うことにしました。
この場合、私は仮想ユーザーを備えたFTPサービスを選択しました。ユーザーは暗号化されたファイルに保存されます(ユーザー名、パスワード、設定など)。すべてPure FTPdで行います。
ここでその方法を説明します…さて、始めましょう
まず、このチュートリアルのコマンドがDebianのようなディストリビューションまたはそれらに基づくディストリビューションを対象としていることを指定しますが、サーバーで別のディストリビューションを使用する場合は、同じパッケージをインストールし、以下に設定された設定を使用する必要があります。変更する必要があるのはインストールコマンドです。
1.まず、Pure FTPdをインストールする必要があります。
apt-get install pure-ftpd
次のように出力が終了します。
2.サービスは既に有効化されていますが、適切に設定されていなければ役に立ちません。ここでは、長いがほぼ標準的な設定ファイルがあるとします。このファイルには、匿名ユーザーを許可しないなどの一般的な設定が含まれています。
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3.では、FTPフォルダが/var/www/ftp/で、/var/www/ftp/sysadmin/フォルダに情報をアップロードできるユーザーを作成したいとしましょう。ターミナルに以下のコマンドを入力してください。
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
これは次のことを意味します。
pure-pw:Pure-FTPdユーザーを操作するために使用されるコマンド
useradd:ユーザーを追加することを示します
sysadmin:作成したいユーザー
-u 2001:そのユーザーのユーザーID
-g 2001:そのユーザーのGroupID
-d / var / www / ftp / sysadmin /:そのユーザーのホームとなるフォルダー、つまりユーザーがアップロードするフォルダー
前の行を入力すると、そのユーザーのパスワードを尋ねられます。
4.次に、ユーザーデータベースファイルを更新する必要があります。これを行うには、/etc/pure-ftpd/フォルダに移動し(cd /etc/pure-ftpd)、ターミナルで次のコマンドを入力します。
pure-pw mkdb
5.次に、Pure-FTPdを起動する必要がありますが、仮想ユーザーファイルを使用することを指定します。まず、サービスを停止しましょう。
/etc/init.d/pure-ftpd stop
次に、デフォルトで正常に起動しないことを確認します。
chmod -x /etc/init.d/pure-ftpd
そして今、私たちは自分たちの方法でサービスを開始します:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. FileZillaのようなアプリケーションを使ってみると、作成したユーザーで問題なく接続できることがわかります。しかし、ファイルのコピーやディレクトリの作成はできません。これは、/var/www/ftp/sysadmin/(この例ではユーザーのホームディレクトリ)フォルダに適切なアクセス権限がないためです。この問題は、以下の手順で解決できます。
chown -R 2001:2001 /var/www/ftp/sysadmin/
Uid と Gid 2001 は作成したユーザーのものであることを思い出してください。前のステップ 3 のコマンドで作成しました
7.サービスを停止するには、同じ端末で[Ctrl]+[C]を押すか、別の端末で以下の操作を行います。
killall pure-ftpd
ここで、サーバーの起動時にサービスがシステムで自動的に開始されることを示します。このために、/ etc / rc.localファイルを変更し、「exit 0」という最後の行の前に、FTPサービスを開始するコマンドを入力します。
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
つまり、次のようになります。
nano、vi、またはお好みのエディターでファイルを編集できます。または、必要に応じて、このコマンドをコピーして貼り付けると、作業が簡単になります。
perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local
…はい、はい…「促進」と読んでいるとおり、これは広範なコマンドですが、単にテキストを Perl と無害なエコーに置き換えているだけです
8.これが完了したら、サーバーを再起動してください。すると、pure-ftpdサービスが起動して実行準備が整っていることが確認できます。
ユーザーを削除する方法は?
前述したように、ユーザーを操作するにはpure-pwコマンドが必要です。ユーザー(例えばsysadmin)を削除するには、以下のコマンドを使用します。
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
ユーザーに変更を加えるときはいつでも、ユーザーの仮想データベースファイルを再生成する必要があることに注意してください。このファイルは/ etc / pure-ftpd /にあり、pure-pwmkdbで生成/更新されます。
とにかく、追加するものはそれほど多くないと思います。pure-pwのヘルプを読んでください。ここで示したものよりもはるかに多くのことが可能になります(これは短く、ほぼ基本的なチュートリアルです)。
1 ~ 2 年前、私はすべてを OpenLDAP または MySQL にリンクする人の一人でしたが、時間が経つにつれて、サーバーであるデータベースへの非常に多くの接続によって、多くの場合、余裕のない消費が発生することに気づきました。 Pure-FTPd .pdb の場合のように、アプリケーション独自のファイルでデータベースを使用するなどの実行可能な代替手段 ○
疑問や質問があれば、できる限りお手伝いします。
挨拶と…ハッピーハッキング!