FTPサーバーの構築
ここではFTPサーバー「vsftpd」をインストールして使えるようにします。
/home/ユーザー名/public_html/ がルートとなるようにします。
上記ディレクトリがないユーザーはログイン出来ない設定です。
vsftpdのインストール
[root@jintaro ~]# yum -y install vsftpd
(中略)
Installed: vsftpd.i386 0:2.0.5-19.fc8
Complete!
|
vsftpdをインストール |
vsftpdの設定
vsftpdの設定ファイルを編集します。
[root@jintaro ~]# vi /etc/vsftpd/vsftpd.conf
(中略)
anonymous_enable=YES
↓変更
anonymous_enable=NO
(中略)
#xferlog_file=/var/log/vsftpd.log
↓変更
xferlog_file=/var/log/vsftpd.log
(中略)
xferlog_std_format=YES
↓変更
xferlog_std_format=NO
(中略)
#ascii_upload_enable=YES
#ascii_download_enable=YES
↓変更
ascii_upload_enable=YES
ascii_download_enable=YES
(中略)
chroot_local_user=YES ←追加
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
(中略)
#ls_recurse_enable=YES
↓変更
ls_recurse_enable=YES
(中略)
---最終行へ追加ここから---
local_root=public_html
use_localtime=YES
pasv_addr_resolve=YES
pasv_address=jintaro.com
pasv_min_port=4000
pasv_max_port=4029
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
force_local_logins_ssl=NO
force_local_data_ssl=NO
---最終行へ追加ここまで---
|
vsftpd設定ファイル編集
anonymousログインを禁止
ログファイルを左記へ保存
ログフォーマットの変更
アスキーモードのアップロード許可
アスキーモードのダウンロード許可
ホームディレクトリより上へのアクセス禁止
ディレクトリごと削除の許可
ユーザーのルートディレクトリを
/home/ユーザー名/public_html にする
タイムスタンプを日本時間にする
パッシブモードの接続先IPアドレスをホスト名から取得
グローバルIPアドレスが引けるホスト名指定
pasvモードの開始ポート番号
pasvモードの終了ポート番号
SSLを有効(*1)
サーバー証明書を指定(*1)
非SSLでログイン許可(*1)
非SSLでデータ転送許可(*1)
|
サーバー証明書の作成
上記(*1)を指定してSSLを有効にした場合はサーバー証明書が無いと起動できません。
ここで作成します。
[root@jintaro ~]# cd /etc/pki/tls/certs
[root@jintaro certs]# make vsftpd.pem
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
(中略)
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]:Shinagawa
Organization Name (eg, company) [My Company Ltd]:jintaro.com
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:jintaro.com
Email Address []:hoge@jintaro.com
[root@jintaro certs]# cd
|
ディレクトリ移動
サーバー証明書作成
国名
県名
市町村名
会社名等
空
ホスト名
管理者アドレス
ホームディレクトリへ戻る
|
vsftpdの起動
[root@jintaro ~]# service vsftpd start
vsftpd 用の vsftpd を起動中: [ OK ]
[root@jintaro ~]# chkconfig vsftpd on
[root@jintaro ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
|
vsftpdを起動
vsftpd自動起動をon
自動起動を確認
2〜5でon
|
その他の設定
ユーザー「testuser」をFTPサーバーにアクセス禁止にするには以下のようにします。
[root@jintaro ~]# echo testuser >> /etc/vsftpd/ftpusers
|
ftpusersに「testuser」を追加
|
備考
- 外部から接続するにはルータの21番ポートをオープンします。。
- 外部からPASVモードでログインするには4000〜4029番ポート(ここでの設定の場合)をオープンします。
- 「FFFTP」ではLAN内部よりPASVモードでは使えません。PORTモードなら使えます。
- 「FFFTP」はSSLを使った暗号化通信に対応していません。
- 「SmartFTP」ならWAN側、LAN内ともPASVモードが使えてSSLを使った暗号化通信が出来ます。
|