Pure-FTPd +仮想ユーザーを使用してFTPサーバーをインストールおよび構成する方法

私は革新と新しいことを学ぶのが好きな人の一人です。少し前にFTPサーバーをインストールして構成する必要があり、いつもとは違う方法でそれを行うことにしました。

この場合、私は仮想ユーザー、暗号化されたファイル(ユーザー、パスワード、設定など)に保存されるユーザーとのFTPサービスを選択しました。 純粋なFTPd.

ここでそれを行う方法を紹介します...まあ、始めましょう😉

まず、このチュートリアルのコマンドがDebianのようなディストリビューションまたはそれらに基づくディストリビューションを対象としていることを指定しますが、サーバーで別のディストリビューションを使用する場合は、同じパッケージをインストールし、以下に設定された設定を使用する必要があります。変更する必要があるのはインストールコマンドです。

各行の前に「sudo」を追加したい場合は、読み取るすべてのコマンドがrootとして実行されます。

1. まず、PureFTPdをインストールする必要があります。

apt-get install pure-ftpd

次のように出力が終了します。

インストール-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 /:そのユーザーのホームとなるフォルダー、つまりユーザーがアップロードするフォルダー

前の行を入力すると、そのユーザーのパスワードを尋ねられます。

以前に/ 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 and Gid 2001は私たちが作成したユーザーの3人であり、前のステップXNUMXのコマンドで作成したことを忘れないでください😉

7. サービスを停止するには、同じ端末で[Ctrl] + [C]を押すか、次の手順を実行します。

killall pure-ftpd

ここで、サーバーの起動時にサービスがシステムで自動的に開始されることを示します。このために、/ etc / rc.localファイルを変更し、「exit 0」という最後の行の前に、FTPサービスを開始するコマンドを入力します。

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

つまり、次のようになります。

rc-local-pure-ftpd

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サービスが開始され、動作する準備ができていることがわかります😀

ユーザーを削除する方法は?

前にも言ったように、コマンド 純粋なpw これは、ユーザーを操作するために必要なものです。ユーザー(sysadminなど)を削除するには、次のように入力します。

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

ユーザーに変更を加えるときはいつでも、ユーザーの仮想データベースファイルを再生成する必要があることに注意してください。このファイルは/ etc / pure-ftpd /にあり、pure-pwmkdbで生成/更新されます。

とにかく、追加するものはそれほど多くないと思います。pure-pwのヘルプを読んでください。ここで示したものよりもはるかに多くのことが可能になります(これは短く、ほぼ基本的なチュートリアルです)。

XNUMX、XNUMX年前、私はすべてをOpenLDAPまたはMySQLにリンクした人の一人でしたが、時間が経つにつれて、サーバーであるデータベースへの接続が多すぎると消費が発生し、何度も余裕がないことに気付きました。このため、Pure-FTPd .pdbの場合のように、アプリケーション自体のファイルでデータベースを使用するなど、完全に実行可能な代替手段を使用します🙂

疑問や質問があれば、できる限りお手伝いします。

挨拶と…ハッピーハッキング!


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   エラヴ

    それ..エラーの場合のドキュメント😀

    1.    KZKG ^我愛羅

      そして、私はすでにJusticeで行ったようにNginx + MySQL + Spawn_FastCGIをインストールする方法についての投稿を書いています、そしてそのおかげでブログはとてもうまく機能します:)

      明日または明後日の準備ができたらいいなと思っています。

  2.   ロドルフォ

    良い投稿; 最近、vsftpdでもできなかったftpサーバーを配置するのに苦労していたので、pure-ftpdにアクセスして、欠落していると思われる場合は、ドキュメントが非常に優れているという明確なconfの例を入力することを検討しましたが、少なくとも基本的なことはおかしいです。 。 暗号化、または少なくともルーターが使用されている場合はフォアディングポート。
    ちなみに、このコマンドを使用すると、pure-ftpwhoは、サーバーに接続しているユーザーと、何かがダウンロードされているかどうかを通知します。
    そして、あなたによると、サーバーに接続するためにデータベースを置くことはそれほど必要ではありません。

    1.    KZKG ^我愛羅

      コメントありがとうございます🙂

      はい、確かに、私は構成で多くのことを(実際にはすべて)説明しなければなりませんでした。サーバーの管理方法を知っている人、FTPサービスをインストールしたい人は、confファイルのコメントを読むのに大きな問題はないと仮定しました。 ^-^

      こんにちは、コメントありがとうございます

  3.   タフリ

    こんにちは非常に良い投稿です。私はvsftpdを使用しています(または少なくとも今のところ)が、いくつか問題があります。これが発生したかどうかを確認したかったのですが、その構成を確認するためのURLまたはドキュメントはありますか?

    どうもありがとう };)

    1.    KZKG ^我愛羅

      ここで構成を確認できます。 http://ftp.desdelinux.net/pure-ftpd.conf
      ご不明な点がある場合や、何か必要な場合は、フォーラムでスレッドを開いてください。喜んでお手伝いします🙂

  4.   アテユス

    とても良い😀

    ちょっとしたことですが、perlコマンドには^記号がないため、コメントにある他の出口0は変更されません。

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    よろしく

  5.   オマル

    すばらしいです。質問があります。読み取り専用ユーザーを作成するにはどうすればよいですか。 Centos 6.5、pureftpd、ispconfig、グラフィックモードを使用しています。

    ispconfigはftpにのみ使用します

    saludos yとのグラシアス

  6.   モンスーン

    pureftpをインストールするこの方法は、ASCOです🙂サービスをrootとして実行したままにし、仮想ユーザーを作成してから、ファイルシステムのアクセス許可を変更し、長い間実行します。 パッケージのインストール方法はすぐに使用できます。これらすべての手順を実行する必要はありません。

    1.    エラヴ

      あまり「嫌な」ガイドを公開するように招待されています..😉

    2.    セドラフ

      何を提案しますか? ftpサーバーを1024より大きいポートでリッスンするように配置しますか? ftpサーバーが標準ポートでリッスンしている場合:22カーネル機能を変更しない限り、rootとして実行する必要があります。セキュリティを向上させたい場合は、SELinuxでMACフレームワークを使用します。別のバリエーションは、サーバーをjail / chrootすることです。 ftp。

  7.   Llテーラー

    pure-ftpd.confのリンクがダウンしているか、存在しません。 復元できますか?
    感謝

  8.   添付ファイル

    2年後、pure-ftpd.confファイルへのリンクはまだダウンしています🙁