keima's caprice diary

気付いたことをメモのように綴ります。なるべく義務っぽくならないように気まぐれに記録します。

FTPサーバ構築 centos linux vsftpd ftp

CentOS6系でFTPサーバをサクっと構築するためのメモ。
一応FTPはプレーンテキストで通信をする点を頭においておきたい。
じきに暗号化FTPのメモもこちらへ。。

1. FTPパッケージインスコ
yum -y install vsftpd --downloadonly --downloaddir=/root

2. コメント行削除用スクリプト準備
vi delcom.sh
export TEMPVAR=$1 ; \cp -f $TEMPVAR $TEMPVAR.org ; \cp -f $TEMPVAR $TEMPVAR.tmp ; cat $TEMPVAR.tmp | egrep -v "^#" | egrep -v "^;" | egrep -v "^\n?+$" | egrep -v "^\s?+$" > $TEMPVAR ; rm -rf $TEMPVAR.tmp ; unset TEMPVAR

3. オリジナルコンフィグコピー
. /root/delcom.sh /etc/vsftpd/vsftpd.conf

4. コンフィグ書き換え
#---VVV-----</etc/vsftpd/vsftpd.conf>-----VVV---#
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=300
data_connection_timeout=30
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to KANEPON FTP service.
chroot_list_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_std_format=NO
log_ftp_protocol=YES
use_localtime=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030
#---AAA-----</etc/vsftpd/vsftpd.conf>-----AAA---#

5. SELINUX無効化&再起動
vi /etc/selinux/config
SELINUX=enforcing -> SELINUX=disabled
reboot

6. hosts.allow書き換え
vi /etc/hosts.allow
#---VVV-----</etc/hosts.allow>-----VVV---#
vsftpd : 192.168.10. 127.0.0.1 192.168.2.
#---AAA-----</etc/hosts.allow>-----AAA---#

7. hosts.deny書き換え
vi /etc/hosts.deny
#---VVV-----<vi /etc/hosts.deny>-----VVV---#
vsftpd : ALL
#---AAA-----<vi /etc/hosts.deny>-----AAA---#

8. 自動起動設定
chkconfig vsftpd on

9. サービス開始
service vsftpd start

 

10. iptables 関連

▼/etc/sysconfig/iptablesに以下を追記
iptables -I INPUT 4 -p tcp --dport 21 -j ACCEPT
▼/etc/sysconfig/iptables-configに以下を追記
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
iptables再起動
seirvice iptables restart

以上。
この後OSにユーザを作成すると、
そのユーザでログイン可能になる。