vsftpdの設定

今更ながら、必要があり立てたなのでメモ。

ユーザの作成

$ sudo adduser username
$ sudo passwd username
ユーザー username のパスワードを変更。
新しいパスワード: 
新しいパスワードを再入力してください: 
passwd: 全ての認証トークンが正しく更新できました。

/etc/vsftpd/vsftpd.conf

#匿名ユーザのログイン禁止
anonymous_enable=NO

#未移動ディレクトリへ移動時のメッセージを非表示
dirmessage_enable=NO

#ASCII転送を許可
ascii_upload_enable=YES	
ascii_download_enable=YES	

#chroot適用ユーザの指定はall 除外対象ユーザはchroot_listに記述
chroot_local_user=YES
chroot_list_enable=YES

#アクティブモードを無効
connect_from_port_20=NO

##以下は追記
#パッシブを有効
pasv_enable=YES
#データ転送アドレスを指定
pasv_addr_resolve=YES
pasv_address=グローバルIP
#データ転送ポートレンジ
pasv_min_port=60001
pasv_max_port=60010
#ローカルタイムを使用
use_localtime=YES
#.で始まるファイルを表示
force_dot_files=YES
#ユーザごとの設定ファイル配置場所
user_config_dir=/etc/vsftpd/vsftpd_user_conf

chroot除外ユーザの定義


sudo vi /etc/vsftpd/chroot_list
#中身空=全ユーザをchroot対象とする

ログインディレクトリを変更


sudo mkdir /etc/vsftpd/vsftpd_user_conf
sudo vi /etc/vsftpd/vsftpd_user_conf/username
#以下を記述
local_root=/home/username/ftp_data
sudo mkdir /home/username/ftp_data
sudo chown username:username /home/username/ftp_data

vsftpdを再起動