CentOS5.5に vsftpd-2.3.4 をインストール
CentOS5.5に vsftpd-2.3.4-1 をインストール
http://centos.alt.ru/repository/centos/5/i386/vsftpd-2.3.4-1.el5.i386.rpm
上記のファイルをインストールしてもSSLが無効になっているので、buildし直します。
ssl_enable=YES にして VSFTPDをスタートさせると以下のメッセージ
500 OOPS: SSL: ssl_enable set but SSL support not compiled in.
1、ソースファイルをダウンロードしてインストール
http://centos.alt.ru/pub/repository/centos/5/SRPMS/
http://centos.alt.ru/pub/repository/centos/5/SRPMS/vsftpd-2.3.4-1.el5.src.rpm
2、vsftpd-2.3.4.tar.gzを解凍して、builddefs.hを編集 ssl有効化
3、vsftpd.specはそのまま使い、ビルドします。
4、依存ファイル ビルドの際に足りない場合入れて下さい。
pam-devel
libcap-devel等他
[bash]
[root@linux ~]# wget http://centos.alt.ru/pub/repository/centos/5/SRPMS/vsftpd-2.3.4-1.el5.src.rpm
[root@linux ~]# rpm -ivh vsftpd-2.3.4-1.el5.src.rpm ←インストール
[root@linux ~]# cd /usr/src/redhat/SOURCES/
[/bash]
vsftpd-2.3.4-1.el5.src.rpmをインストールすると/usr/src/redhat/SOURCES/に
vsftpd-2.3.4.tar.gzがあります。
[bash]
[root@localhost SOURCES]# tar zxvf vsftpd-2.3.4.tar.gz ←展開
[root@linux SOURCES]# cd vsftpd-2.3.4
[root@linux vsftpd-2.3.4]# vi builddefs.h ←編集する
#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
↓
#define VSF_BUILD_SSL 変更 SSLを有効化
#endif /* VSF_BUILDDEFS_H */
[/bash]
[bash]
[root@linux vsftpd-2.3.4]# cd .. ←ディレクトリ移動
[/bash]
[bash]
[root@linux SOURCES]# tar czvf vsftpd-2.3.4.tar.gz vsftpd-2.3.4/ ←展開先ディレクトリ再圧縮
[/bash]
RPMパッケージの作成
[bash]
[root@linux ~]# rpmbuild -bb –clean /usr/src/redhat/SPECS/vsftpd.spec
………..省略
伸張ファイルの検査中: /usr/lib/rpm/check-files /var/tmp/vsftpd-2.3.4-1-root-root
書き込み完了: /usr/src/redhat/RPMS/i386/vsftpd-2.3.4-1.i386.rpm
書き込み完了: /usr/src/redhat/RPMS/i386/vsftpd-debuginfo-2.3.4-1.i386.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.42919
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd vsftpd-2.3.4
+ rm -rf /var/tmp/vsftpd-2.3.4-1-root-root
+ exit 0
実行中(–clean): /bin/sh -e /var/tmp/rpm-tmp.42919
+ umask 022
+ cd /usr/src/redhat/BUILD
+ rm -rf vsftpd-2.3.4
+ exit 0
[/bash]
RPMパッケージインストール
[bash]
[root@linux ~]# rpm -ivh /usr/src/redhat/RPMS/i386/vsftpd-2.3.4-1.i386.rpm
[/bash]
サーバー証明書の作成
サーバー用証明書 有効期限を1年から10年に変更する
[bash]
[root@linux ~]# cd /etc/pki/tls/certs/ ← ディレクトリ移動
[root@root@linux certs]# sed -i 's/365/3650/g’ Makefile
[/bash]
[bash]
[root@centos certs]# make vsftpd.pem ← サーバー証明書作成
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM1 -nodes -x509 -days 3650 -out $PEM2 -set_serial 0 ; \
cat $PEM1 > vsftpd.pem ; \
echo "" >> vsftpd.pem ; \
cat $PEM2 >> vsftpd.pem ; \
rm -f $PEM1 $PEM2
Generating a 1024 bit RSA private key
…++++++
…………….++++++
writing new private key to '/tmp/openssl.N16647’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Tokyo
Locality Name (eg, city) [Newbury]:Shibuya-ku
Organization Name (eg, company) [My Company Ltd]:kencom.biz
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server’s hostname) []:ftp.kencom.biz
Email Address []:root@kencom.biz
[/bash]
[bash]
[root@linux certs]# cd
[/bash]
vsftpd設定ファイル編集
[bash]
[root@linux ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
ascii_upload_enable=YES
ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
pasv_min_port=60060
pasv_max_port=60090
max_clients=20
max_per_ip=10
#convert_charset_enable=1
#local_charset=UTF8
#remote_charset=CP1251
force_dot_files=YES
text_userdb_names=YES
pasv_addr_resolve=YES
pasv_address=111.111.222.xxx
ssl_enable=YES ←SSL有効化
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
force_local_logins_ssl=NO
force_local_data_ssl=NO
[/bash]
ファイアーフォール ルーター で、TCP 20 21 ポートを開ける
PASV接続用ポート 例 TCP 60060-60090番
[bash]
[root@linux ~]# /etc/rc.d/init.d/vsftpd start ← vsftpd起動
vsftpd 用の vsftpd を起動中: [ OK ]
[/bash]
[bash]
[root@linux ~]# chkconfig vsftpd on ← vsftpd自動起動設定
[/bash]
ディスカッション
コメント一覧
まだ、コメントがありません