WordPressのインストールに先駆けて,アップデートで使用するFTPサーバを構築することにした.

まずはインストール.
インストールするのは,vsftpd(Very Secure FTP Deamon)とxinetd.
FTPサーバは,そこまで使わないのでxinetdを用いて使用することにする.

# pacman -Sy vsftpd xinetd

vsftpdの設定

# vim /etc/vsftpd.conf

vsftpd.confの変更点

//anonymousFTP関係
anonymous_enable=NO //anonymousユーザを禁止(デフォルトはYES)

//基本設定
local_enable=YES    //ローカルユーザを有効に(デフォルトはコメントアウト)
write_enable=YES    //書き込み可能に(デフォルトではコメントアウト)
local_umask=022   //書き込んだ際のパーミッションのマスク(デフォルトではコメントアウト)

//アスキーモード関係
ascii_upload_enable=YES  //アスキーでアップロードを有効(デフォルトではコメントアウト)
ascii_download_enable=YES //アスキーでダウンロードの有効(デフォルトではコメントアウト)

//アクセスディレクトリ関係
chroot_local_user=YES   //ローカルユーザの制限(デフォルトではコメントアウト)
chroot_list_enable=YES  //リストにより制限を行う(デフォルトではコメントアウト)
chroot_list_file=/etc/vsftpd.chroot_list  //リストのパス

//ユーザ制限関係
userlist_enable=YES  //ユーザ制限を行う(デフォルトでなし)
userlist_deny=NO  //リストに書かれていないユーザは制限(デフォルトでなし)
userlist_file=/etc/vsftpd.user_list  //ユーザリストのパス

/etc/vsftpd.chroot_listと/etc/vsftpd.user_listは,
ユーザを改行して列挙すれば良い.
今回の設定の場合./etc/vsftpd.chroot_listに書かれたユーザはすべての階層にアクセス可能になる.
書かれていないユーザはホームディレクトリがルートディレクトリになる.
このとき,FTPで入ると表示が”/”になっているので設定できていないか勘違いしやすいので注意.
/etc/vsftpd.user_listは,書かれているユーザのみがログイン可能になる.

xinetdを使用する場合は,下記を実行する必要あり
まず,xinetdの設定

# vim /etc/xinetd.d/vsftpd

disableの項目をyesからnoに変更する.

xinetdをサービスに登録,起動

# systemctl enable xinetd
# systemctl start xinetd

この状態だと,vsftpdとxinetdでポート番号22を監視しようとしてバッティングするので
/etc/vsftpd.confのlistenの項目を変更する必要がある.

listen=NO  //デフォルトではYES