私は革新と新しいことを学ぶのが好きな人の一人です。少し前にFTPサーバーをインストールして構成する必要があり、いつもとは違う方法でそれを行うことにしました。
この場合、私は仮想ユーザー、暗号化されたファイル(ユーザー、パスワード、設定など)に保存されるユーザーとのFTPサービスを選択しました。 純粋なFTPd.
ここでそれを行う方法を紹介します...まあ、始めましょう😉
まず、このチュートリアルのコマンドがDebianのようなディストリビューションまたはそれらに基づくディストリビューションを対象としていることを指定しますが、サーバーで別のディストリビューションを使用する場合は、同じパッケージをインストールし、以下に設定された設定を使用する必要があります。変更する必要があるのはインストールコマンドです。
1. まず、PureFTPdをインストールする必要があります。
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 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
つまり、次のようになります。
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の場合のように、アプリケーション自体のファイルでデータベースを使用するなど、完全に実行可能な代替手段を使用します🙂
疑問や質問があれば、できる限りお手伝いします。
挨拶と…ハッピーハッキング!
それ..エラーの場合のドキュメント😀
そして、私はすでにJusticeで行ったようにNginx + MySQL + Spawn_FastCGIをインストールする方法についての投稿を書いています、そしてそのおかげでブログはとてもうまく機能します:)
明日または明後日の準備ができたらいいなと思っています。
良い投稿; 最近、vsftpdでもできなかったftpサーバーを配置するのに苦労していたので、pure-ftpdにアクセスして、欠落していると思われる場合は、ドキュメントが非常に優れているという明確なconfの例を入力することを検討しましたが、少なくとも基本的なことはおかしいです。 。 暗号化、または少なくともルーターが使用されている場合はフォアディングポート。
ちなみに、このコマンドを使用すると、pure-ftpwhoは、サーバーに接続しているユーザーと、何かがダウンロードされているかどうかを通知します。
そして、あなたによると、サーバーに接続するためにデータベースを置くことはそれほど必要ではありません。
コメントありがとうございます🙂
はい、確かに、私は構成で多くのことを(実際にはすべて)説明しなければなりませんでした。サーバーの管理方法を知っている人、FTPサービスをインストールしたい人は、confファイルのコメントを読むのに大きな問題はないと仮定しました。 ^-^
こんにちは、コメントありがとうございます
こんにちは非常に良い投稿です。私はvsftpdを使用しています(または少なくとも今のところ)が、いくつか問題があります。これが発生したかどうかを確認したかったのですが、その構成を確認するためのURLまたはドキュメントはありますか?
どうもありがとう };)
ここで構成を確認できます。 http://ftp.desdelinux.net/pure-ftpd.conf
ご不明な点がある場合や、何か必要な場合は、フォーラムでスレッドを開いてください。喜んでお手伝いします🙂
とても良い😀
ちょっとしたことですが、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
よろしく
すばらしいです。質問があります。読み取り専用ユーザーを作成するにはどうすればよいですか。 Centos 6.5、pureftpd、ispconfig、グラフィックモードを使用しています。
ispconfigはftpにのみ使用します
saludos yとのグラシアス
pureftpをインストールするこの方法は、ASCOです🙂サービスをrootとして実行したままにし、仮想ユーザーを作成してから、ファイルシステムのアクセス許可を変更し、長い間実行します。 パッケージのインストール方法はすぐに使用できます。これらすべての手順を実行する必要はありません。
あまり「嫌な」ガイドを公開するように招待されています..😉
何を提案しますか? ftpサーバーを1024より大きいポートでリッスンするように配置しますか? ftpサーバーが標準ポートでリッスンしている場合:22カーネル機能を変更しない限り、rootとして実行する必要があります。セキュリティを向上させたい場合は、SELinuxでMACフレームワークを使用します。別のバリエーションは、サーバーをjail / chrootすることです。 ftp。
pure-ftpd.confのリンクがダウンしているか、存在しません。 復元できますか?
感謝
2年後、pure-ftpd.confファイルへのリンクはまだダウンしています🙁