RHEL/CentOS 7でProftpdサーバーの匿名アカウントを有効にする
CentOS/RHEL 7のProftpdサーバに関する最後のチュートリアルに続いて、このチュートリアルでは匿名アカウントのログインを有効にすることでProftpdの機能を拡張することを試みます。匿名ログインは、サーバーにアカウントを持たないユーザーが、特定のディレクトリにアクセスできるようにするために使用されます。デフォルトでは、CentOS/RHEL 7でのそのディレクトリは/var/ftpであり、匿名ユーザーはパスワードを入力する必要がありません。
匿名ユーザーが認証されてサーバーにログインすると、彼らはデフォルトディレクトリにchrootされ、システムパスの上位ディレクトリにはアクセスできなくなります。一方、匿名ブロックディレクティブは通常、メインのProftpd設定ファイルに保存されます。
要件
- CentOS/RHEL 7にProftpdサーバーをインストールする
このトピックでは、匿名アカウントの設定を保存するために、enabled_mod と disabled_mod の2つのディレクトリを使用する異なるアプローチを取ります。これにより、今後のサーバーモジュールの拡張機能を、メインのProftpd設定ファイルを混乱させることなく保存します。
ステップ 1: Proftpd サーバーの匿名モジュールを有効にする
1. Proftpdサーバーをデフォルトの設定ファイルでシステムにインストールした後、デーモンプロセスを停止し、proftpdのメインのデフォルト設定ファイルをバックアップし、その後、お好みのテキストエディタでproftpd.confファイルを編集のために開いてください。
# systemctl stop proftpd
cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
2. Proftpdのメインファイルを編集のために開いたので、このファイルの一番下に行き、最後の行に次の文を追加してください。これにより、サーバーはenabled_modディレクトリ内の.conf拡張子で終わるファイルに見つかったすべての設定を解析して使用するようになります。
Include /etc/proftpd/enabled_mod/*.conf
3. 上記のステートメントの追加が完了したら、ファイルを保存して閉じ、enabled_modとdisabled_modのディレクトリを作成してください。今後のすべての設定はdisabled_modディレクトリに保存され、enabled_modディレクトリに応じてシンボリックリンクを作成することでProftpdサーバーで有効化されます。
# mkdir -p /etc/proftpd/enabled_mod
mkdir -p /etc/proftpd/disabled_mod
4. さて、Proftpdのためにシンプルな匿名設定ファイルモジュールを追加する時が来ました。お好きなテキストエディタを使用して、disabled_mod パスに anonymous.conf という名前のファイルを作成してください。
# nano /etc/proftpd/disabled_mod/anonymous.conf
ファイルに以下の文を追加してください。
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
MaxClients 10
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
匿名アカウントに関するより高度な機能が必要な場合は、以下のリンクのProftpdドキュメントをご自由にご利用ください。
- http://www.proftpd.org/docs/directives/linked/config_ref_Anonymous.html
- http://www.proftpd.org/docs/configs/anonymous.conf
5. 匿名モジュールが作成されたとはいえ、まだ有効化されていません。このモジュールを有効にするには、以下のコマンドを使用して enabled_mod ディレクトリへのシンボリックリンクを作成し、その後、変更を適用するためにFTPデーモンを起動してください。
# ln -s /etc/proftpd/disabled_mod/anonymous.conf /etc/proftpd/enabled_mod/
ll /etc/proftpd/enabled_mod/
systemctl start proftpd
systemctl status proftpd
6. Proftpdサーバーによって匿名で提供されたファイルにアクセスするには、ブラウザを開き、FTPプロトコルを使用してサーバーのIPアドレスまたはドメイン名を入力してください。そうすると、自動的に匿名としてログインし、ディレクトリ構造を取得できるはずです。
ftp://192.168.1.21
ftp://your_domain_name
7. FileZillaを使用する場合は、Logon TypeでAnonymousを選択するだけで、自動的にサーバーに認証されます。ブラウザやFileZilla以外のFTPクライアントを使用する場合は、ユーザー名を入力するように要求されるので、ユーザー名欄にanonymousと入力し、パスワード欄は空のままにして認証されてください。
8. デフォルトで提供されるFTP匿名ディレクトリは/var/ftp/システムパスで、異なる権限を持つ2つのディレクトリが含まれています。
- pubディレクトリ - すべての匿名認証ユーザーが読み取りおよびリストを表示できる公開FTPディレクトリです。ここにクライアントがアクセスしてダウンロードできるファイルを置くことができます。
- uploads ディレクトリ - 制限された権限があり、匿名ユーザーによってリスト表示できません。
9. Proftpdサーバーで匿名構成を無効にするには、enabled_modディレクトリからanonymous.confファイルを削除し、FTPデーモンを再起動して変更を適用してください。
# rm /etc/proftpd/enabled_mod/anonymous.conf
systemctl restart proftpd.service
それでは!次のチュートリアルでは、RHEL/CentOS 7のProFTPDサーバーに関して、SSL/TLSで暗号化されたファイル転送を使用して、クライアントとサーバー間のデータ転送を安全にする方法について説明します。








