🐧 Linux 総合学習プラットフォーム
サーバ構築 ・ 中級

FTPサーバ(vsftpd)

ファイル転送に特化したサーバが vsftpd だ。/etc/vsftpd/vsftpd.conf で匿名接続やアップロードの可否を決め、firewall-cmd --add-service=ftp で通す。SELinux が有効なら、専用の boolean(ftpd_full_access など)を on にしないと書き込めない点に注意する。

Webとは別に、ファイルのやり取りだけに特化したサーバもある。その定番が vsftpd(Very Secure FTP Daemon)だ。名前のとおり、安全性を重視した作りになっている。

⚙ 設定の勘どころ

設定は /etc/vsftpd/vsftpd.conf にまとまっている。anonymous_enable で匿名接続の可否、write_enable でアップロードの可否、local_enable でローカルユーザのログイン可否を決める。公開範囲を最小にするのが安全の基本だ。

匿名アップロードを許すかどうかは、公開サーバでは特に慎重に。不要なら anonymous_enable=NO のままにしておく。

🧱 通り道を開ける

サービスを起動しても、ファイアウォールとSELinuxが閉じていれば外から使えない。firewall-cmd --add-service=ftp で通し、SELinux下では ftpd_full_access などの boolean を on にして書き込みを許す。

つまずきFTPは制御用とデータ用で複数のポートを使う(パッシブモードなど)。「ログインはできるが一覧が出ない/転送で固まる」は、たいていファイアウォールかモードの設定が原因。
💡
ポイント起動は systemctl enable --now vsftpd。可能なら平文FTPより、暗号化される SFTP(SSH経由) や FTPS を選ぶと安全だ。

この項目に出てくる用語

SELinux booleanせりなっくすぶーりあん
SELinuxの機能ごとのスイッチ。よくある例外を on/off で許可する仕組み。

関連コマンド

firewall-cmdsetseboolsystemctl

▶ 学習アプリでこの続きを学ぶ・演習する