sakura VPS 基本開発環境設定手順 FTP編

FTP。ガッツリハマりました。

まだ釈然としない部分もあるのだが、今後のためにめも。
参考:http://plusblog.jp/6601/

まずは入っているか確認

rpm -qa vsftpd

インストール

	yum -y install vsftpd

※削除方法も

	yum -y remove vsftpd

再起動

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

自動起動設定

	sudo chkconfig vsftpd on
	sudo chkconfig --list vsftpd
	vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
	ランレベル 0 システムの停止
	ランレベル 1 シングルユーザモード
	ランレベル 2 マルチユーザモード (NFSマウントなし)
	ランレベル 3 マルチユーザモード (通常 : コンソールログイン)
	ランレベル 4 未使用
	ランレベル 5 マルチユーザモード (通常 : ディスプレイマネージャ使用)
	ランレベル 6 システムの再起動

vsftpd.confファイルを編集
——————————–

	cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
	sudo vi /etc/vsftpd/vsftpd.conf

#匿名アクセス禁止

	anonymous_enable=YES
	  ↓
	anonymous_enable=NO

#ファイルのパーミッションが644になってしまうので、グループ書き込み可の664にします

	local_umask=022
	  ↓
	local_umask=002

#アスキーモード有効

	#ascii_upload_enable=YES
	#ascii_download_enable=YES
	  ↓
	ascii_upload_enable=YES
	ascii_download_enable=YES

#シグニチャ隠蔽

	#ftpd_banner=Welcome to blah FTP service.
	  ↓
	ftpd_banner=Welcome to blah FTP service.

#ホームディレクトリのみ参照するユーザー設定

	#chroot_list_enable=YES
	#chroot_list_file=/etc/vsftpd/chroot_list
	  ↓
	chroot_list_enable=YES
	chroot_list_file=/etc/vsftpd/chroot_list

#サブフォルダを含む一括アップロード・ダウンロードを許可

	#ls_recurse_enable=YES
	  ↓
	ls_recurse_enable=YES

#-----ファイルの最後に設定を追加-----

	#/etc/vsftpd/user_listのユーザーだけを許可
	userlist_deny=NO

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

	use_localtime=YES

#設定を簡単にするためにPASVのポート範囲を限定

	pasv_min_port=50000
	pasv_max_port=50030

#ユーザーの初期アクセスディレクトリ
#ここに書いたディレクトリが最初に開く。

	#local_rootを書かないとホームディレクトリ
	local_root=/var/www/html

#ユーザのホームディレクトリより、上位のディレクトリへの移動を不許可に

	chroot_local_user=YES
	--------------------------------

ユーザー作成

	sudo adduser --shell /sbin/nologin --home /var/www ftpuser
	sudo passwd ftpuser

FTPアクセスを許可するユーザを設定
※ftpuserを追加する。

	sudo vi /etc/vsftpd/user_list

ホームディレクトリより上層にアクセス出来るユーザを設定
※空のファイルでOK

	sudo vi /etc/vsftpd/chroot_list

再起動

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

iptablesでFTPの為のポートを開ける

	vi /etc/sysconfig/iptables

※下記を追加

	-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
	-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
	-A INPUT -p tcp -m tcp --dport 50000:50030 -j ACCEPT

iptableの反映を行う。

	service iptables restart
	iptables -L

※user作成手順

	adduser --shell /sbin/nologin --home /var/www ftpuser
	passwd ftpuser
	vi /etc/vsftpd/user_list
	/etc/rc.d/init.d/vsftpd restart

注意点。
このままだと、パーミッションを持たないFTPユーザーはアップロードができない。
新たに作ったFTPユーザーに対して、書き込み権限を与える必要がある。

chown -R ftpuser html