
INDEX
はじめに
本記事では、Linux環境(CentOS・Ubuntuなど)で動作するFTPサーバーソフト「VSFTPD」のユーザー追加方法を初心者向けに分かりやすく解説します。FTPアカウントの作り方から特定フォルダへのアクセス制限、さらによく起こるトラブルの解決方法を解説します。
対象環境の前提と確認方法
- VSFTPDがインストール済みで稼働していること。
- OSの種類(CentOS、Ubuntu)を確認する場合:
cat /etc/os-release
本記事は主にCentOSをベースにしていますが、基本的な手順はUbuntuでもほぼ同様です。
FTPユーザー追加の手順(基本編)
VSFTPDに新規ユーザーを追加するには、以下の手順を順番に実施します。
① OSのユーザーアカウント追加
まず、Linux OS側にユーザーを追加します。
# 新規ユーザーを追加
useradd 新規ユーザー名
# パスワードを設定
passwd 新規ユーザー名
# パスワードを2回入力します(短すぎると拒否されます)
パスワードの推奨文字数は8文字以上です。
② FTPアクセス権限の設定(ディレクトリ権限)
作成したユーザーのホームディレクトリの権限を設定します。
chmod 701 /home/新規ユーザー名
- 701にすることで、他ユーザーが中身を閲覧するのを防ぎます。
③ vsftpdの設定(user_listファイル)
次に、FTPアクセスを許可するユーザーを登録します。
vim /etc/vsftpd/user_list
userlist_deny=NO
の設定になっている場合、上記ファイルにユーザー名を追加します。
- user_listの最終行に新規ユーザーを追記して保存します。
④ 設定の反映(VSFTPD再起動)
最後にvsftpdを再起動し、設定を有効化します。
# CentOS 7以降の場合
systemctl restart vsftpd
# CentOS 6などの古い場合
/etc/rc.d/init.d/vsftpd restart
特定ディレクトリのみをFTP公開したい場合(応用編)
特定のユーザーに対し、決まったディレクトリだけ見せる方法です。
# 既存の設定ファイルをコピーして、新しいユーザーの設定を作る
cp /etc/vsftpd/user_conf/既存ユーザー /etc/vsftpd/user_conf/新規ユーザー
# 新規ユーザー用の設定ファイルを編集
vim /etc/vsftpd/user_conf/新規ユーザー
以下のように設定を編集します。
local_root=/home/新規ユーザー/公開したいフォルダ名
ディレクトリを作成します。
mkdir -p /home/新規ユーザー/公開したいフォルダ名
chown 新規ユーザー名:新規ユーザー名 /home/新規ユーザー/公開したいフォルダ名
chmod 755 /home/新規ユーザー/公開したいフォルダ名
再度、設定を反映します。
systemctl restart vsftpd
よくあるトラブル対処法・Q&A
Q. FTPログインできない・拒否される
- user_listにユーザーが登録されていないか確認
- firewall(ファイアウォール)のポート21が開いているか確認
Q. 接続はできるがディレクトリが見えない
- パーミッション設定が間違っている可能性が高いです。701や755になっているか確認。
まとめ
- OSユーザーを作り、FTP権限を設定して、user_listに追加するのが基本手順。
- 特定フォルダのみ公開する場合、
user_conf
設定が便利。
FTPサーバーの設定は複雑に感じますが、慣れればシンプルです。
ぜひ本記事を参考に設定を進めてみてください。