【サーバ】勉強のためサクラVPSを契約して設定した備忘録 FTPツール(vsftp)の導入

FTPツール(vsftp)の導入

 

「vsftp」というパッケージをyumでインストールできます。

[html]

sudo yum install -y vsftpd

[/html]

 

 

 

自動起動の設定をします。

[html]sudo chkconfig vsftpd on
sudo chkconfig –list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[/html]

 

設定ファイル(vsftpd.conf)の編集

設定ファイルは「/etc/vsftpd/vsftpd.conf」を設定する。

 

バックアップの作成

[html]

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_201504.conf

[/html]

 

 

 

設定ファイルを編集する。

[html]

sudo vi /etc/vsftpd/vsftpd.conf

[/html]

 

 

 

12行目 匿名ユーザーのアクセスを禁止します

[html]

anonymous_enable=YES

anonymous_enable=NO

[/html]

 

 

 

22行目 ファイルのパーミッションを644になるようにする

 

[html]

local_umask=022

local_umask=002

[/html]

 

 

 

81行目 アスキーモードを許可する

[html]

ascii_upload_enable=NO
ascii_download_enable=NO

ascii_upload_enable=YES
ascii_download_enable=YES

[/html]

 

 

 

85行目 FTPログイン時にバージョン情報を表示させない

 

[html]

#ftpd_banner=Welcome to blah FTP service.

ftpd_banner=Welcome to blah FTP service.

[/html]

 

 

97行目 chroot_list_enableをYESにする

[html]

chroot_list_enable=NO

chroot_list_enable=YES

[/html]

 

 

 

99行目 ホームディレクトリより上の階層への移動を不許可

[html]

chroot_list_file=/etc/vsftpd/chroot_list

#下記内容を追記
chroot_local_user=YES

[/html]

 

 

 

105行目 サブフォルダごとまとめて操作できるようにする

[html]

ls_recurse_enable=YES

[/html]

 

 

 

ファイルの最後に下記内容を追記します。

[html]

#/etc/vsftpd/user_listに記述したユーザーのみログイン許可する
userlist_deny=NO

#タイムスタンプをローカルの時間にする
use_localtime=YES

#PASVのポート範囲を指定
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50030

#初期アクセス時のフォルダを指定
local_root=/var/www/html

[/html]

 

 

 

これで設定ファイルの編集は完了です。

99行目に記述した「chroot_list」というファイルを作成する。
ファイルは何も記述せず空でOK。

[html]

sudo vi /etc/vsftpd/chroot_list

[/html]

 

 

 

ユーザーの作成

FTPにログインするためのユーザーを作成

[html]

sudo adduser –home /var/www –shell /sbin/nologin user名

[/html]

 

 

 

ユーザを作成したら、パスワードを設定。

[html]sudo passwd user名
[/html]

 

 

 

この作成したユーザーをvsftpdのユーザーリストに追加します。
「/etc/vsftpd/user_list」のファイルの最後に追加したユーザを追加する。

[html]
sudo vi /etc/vsftpd/user_list
[/html]

 

これで設定は完了です。
最後に再起動しましょう。

[html]

sudo /etc/rc.d/init.d/vsftpd restart

[/html]

 

 

 

IPテーブルにFTPの設定を追加

FTPの設定が終わったら、IPテーブルのポートの設定FTPのポートを追記します。
下記コマンドで追加できます。

[html]
sudo iptables -A INPUT -p tcp -m tcp –dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp –dport 3306 -j ACCEPT
[/html]

 

追加したら、設定内容を保存して再起動しておきましょう。

[html]
#設定を保存
sudo service iptables save
#再起動
sudo service iptables restart
[/html]

 

FTPに接続

FTPに接続する。
サーバはVPSサーバのIPアドレス、ユーザーとパスワードはさきほど設定したパスワードで接続できます。

 

ディレクトリーの作成で550 Create directory operation failed. が出る。

アクセス権限確認

[html]

li -l

[/html]

 

とりあえず権限を777にして回避(ホントはダメだけどね。)

[html]

chmod 777 パーミッション

[/html]

 

これでディレクトリー作成もアップロードも出来た。

参考
http://blog.nzakr.com/vps-ftp/
http://pro-grammer.info/archives/902