Help us understand the problem. What is going on with this article?

さくらVPSでFTPを使える様にした

More than 5 years have passed since last update.

Git以外の方法でもさくらVPSにファイルを上げる為に、FTPを使うことになり、その方法をメモります。

vsftpdを使います。

vsftpdを入れます。

$ yum install vsftpd
//vsftpdを 起動
$ sudo /etc/rc.d/init.d/vsftpd start

//自動起動を有効化
$ sudo chkconfig vsftpd on

vsftpdの設定をします。

// 設定ファイルのバックアップを取ります。
$ cd 
$ mkdir origin
$ sudo cp /etc/vsftpd/vsftpd.conf origin

// 設定ファイルの編集。
$ sudo vim /etc/vsftpd/vsftpd.conf 
---- 
#アスキーモードを有効にする
ascii_upload_enable=YES
ascii_download_enable=YES   

# TCP/IP でのフィルタリングを無効にする (iptables で一応OK)
tcp_wrappers=NO 

# 日本時間を使用
use_localtime=YES 

# anonymous を無効にする
anonymous_enable=NO

# /var/log/vsftpd.log にログを記入
xferlog_std_format=NO

# ログを有効にする
dual_log_enable=YES
---

chroot と FTP利用ユーザー制限

ユーザー作成

# useradd hoge
# passwd hoge

vsftpd.confの設定

$ sudo vim /etc/vsftpd/vsftpd.conf
---
# /etc/vsftpd/user_list に記述されたユーザーを拒否する
userlist_deny=NO

# 全てのローカルユーザーにchrootを有効にする。
chroot_local_user=YES
chroot_list_enable=NO

# vsftpdのルートディレクトリを /home/hoge/public_html に設定
local_root=/home/hoge/public_html
---

↑で指定したルートディレクトリが存在しない場合は作成しておく。

※chrootについてはコチラ

アクセス許可ユーザー指定

$ sudo vim /etc/vsftpd/user_list
---
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
hoge
---

iptables 設定

$ sudo vim /etc/sysconfig/iptables
---
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT (追記)
---

$ sudo /etc/rc.d/init.d/iptables restart

もしくは以下。

$ sudo iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
$ sudo /etc/rc.d/init.d/iptables save

vsftpdの反映

// vsftpd の設定を反映
$ sudo /etc/rc.d/init.d/vsftpd restart

IPTABLES_MODULESのロード

iptables-configを編集します。

$ sudo vim /etc/sysconfig/iptables-config
---
# 以下を追記
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
---

iptables-configをrestartします。

$ sudo /etc/rc.d/init.d/iptables restart

ロード確認

$ lsmod
---
// ここにモジュールがあればOK
---

ftp出来るか確認

ftpアプリを使って確認してみる。

参考

WEB開発記 | さくらのVPSでサーバー入門8 vsftpの導入
pistolfly | iptablesでftpを通す

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away