サイトマップ | お問い合わせ  | ID  PASS 

SmartSection is developed by The SmartFactory (http://www.smartfactory.ca), a division of INBOX Solutions (http://inboxinternational.com)
ۡ롼 > 裏番町通信 > 仮想専用サーバ構築 > FedoraCore3 > FTPサーバ(vsFTP)の構築
FTPサーバ(vsFTP)の構築
投稿者: Master 掲載日: 2005-12-1 (26721 回閲覧)
Apacheの設定が済んだら、FTPクライアントを使ってWebコンテンツをアップロードできるようにするために、FTPサーバを構築します。Fedora Coreが採用しているFTPサーバはvsFTPです。

● vsFTPの設定
SSHでサーバに接続し、vsftpd.confファイルを開いて編集していきます。
[root@e-class ~]# vi /etc/vsftpd/vsftpd.conf

匿名ユーザのログインを禁止します。
anonymous_enable=NO ← YESをNOに変更(12行目あたり)

アイドル時のタイムアウトを設定します。
idle_session_timeout=600 ← 行頭の#を削除(57行目あたり)

接続時のタイムアウトを設定します。
data_connection_timeout=120 ← 行頭の#を削除(60行目あたり)

asciiモードでの送受信を許可します。
ascii_upload_enable=YES ← 行頭の#を削除(81行目あたり)
ascii_download_enable=YES ← 行頭の#を削除(82行目あたり)

セキュリティホールが見つかったときに狙われる可能性があるので、接続時にバージョンが表示されないようにします。必要であれば「=」以降を任意のメッセージに書き換えます。
ftpd_banner=Welcome to blah FTP service. ← 行頭の#を削除(85行目あたり)

ディレクトリの削除を許可します。
ls_recurse_enable=YES ← 行頭の#を削除(104行目あたり)

TCPラッパーを確認します。
tcp_wrappers=YES ← 行頭に#が無いのを確認(110行目あたり)

パッシブモードを有効にするのと、タイムスタンプを日本時間に合わせるために以下の2行を最下行へ追加します。
pasv_promiscuous=YES
use_localtime=YES

編集が済んだらファイルを保存してviを終了します。

● IPアドレスによるアクセス制限の設定
vsftpd.confファイルにある「tcp_wrappers=YES」は、「hosts.allowとhosts.denyによりアクセス制限を行う」ということです。hosts.allowファイルを開くと、利用開始時に設定したSSH接続を許可するIPアドレスが書き込まれています。そのあたりにFTP接続を許可するIPアドレスを追記します。
[root@e-class ~]# vi /etc/hosts.allow
sshd : 222.222.222.222
vsftpd : 222.222.222.222 ← アクセスを許可する接続元のIPアドレス

さらにアクセスを拒否する設定を行います。このファイルにもSSH接続のアクセス制限が設定されています。処理としては「hosts.denyで拒否してhosts.allowに記述された接続元だけに許可」となるので、すべての接続を拒否するようにALLを設定します。
[root@e-class ~]# vi /etc/hosts.deny
sshd : ALL
vsftpd : ALL ← 接続をすべて拒否

● FTP接続できるユーザの制限
メールだけを使うユーザなど、Webコンテンツの管理に関係ないユーザは、FTPサーバへアクセスできないようにしておきます。
[root@e-class ~]# vi /etc/vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
 :
 :
hanako ← アクセスさせないユーザを追記

● vsFTPの起動
以下のコマンドを実行してvsFTPを起動します
[root@e-class ~]# /sbin/service vsftpd start

● vsFTPの自動起動設定
OSを再起動したときに、vsFTPも自動的に起動するよう設定します。仮想専用サーバということで、専用ツールからchkconfigの設定が行えますが、ターミナルから設定するには以下のコマンドを実行します。
[root@e-class ~]# /sbin/chkconfig --level 3 vsftpd on

● ドキュメントルートの所有者を変更
vsftpdのデフォルトの設定では、rootアカウントでのFTP接続はできません。しかし、ドキュメントルートに設定されている/var/www/htmlには、rootしか書き込めないようになっています。このままでは、FTPクライアントによるWebコンテンツのアップロードができないので、ディレクトリの所有者を変更します。設定する所有者は、FTP接続するユーザアカウントにします。
[root@e-class ~]# chown webmaster /var/www/html

● 接続の確認
FTP接続できないようにしたユーザ、hanakoでアクセスしてみます。BINDの設定をまだ行っていないので、現在構築中のサーバのIPアドレスを使ってアクセスします。
[Macintosh:~] Taroi% ftp hanako@123.456.789.10
Connected to 123.456.789.10.
220 Welcome to blah FTP service. ← バージョンが表示されないのを確認
331 Please specify the password.
Password: ← hanakoのパスワードを入力
530 Login incorrect.
ftp: Login failed. ← ログインできなかった
ftp> bye ← 接続を切る
221 Goodbye.

FTP接続できるユーザwebmasterでアクセスし、index.htmlファイルをアップロードしてみます。アップロードは、ローカルのカレントディレクトリからサーバのカレントディレクトリに送信します。この場合、Macintoshの/ユーザ/Taro内にindex.htmlファイルを用意しています。またアップロード先は/var/www/html(ドキュメントルート)です。
[Macintosh:~] Taroi%  ftp webmaster@123.456.789.10
Connected to 123.456.789.10.
220 Welcome to blah FTP service.
331 Please specify the password.
Password:← webmasterのパスワードを入力
230 Login successful. ← ログインできた
Remote system type is UNIX.
Using binary mode to transfer files. ← ファイル転送がbinaryモードになっている
ftp> cd /var/www/html ← ドキュメントルートに移動
250 Directory successfully changed.
ftp> ascii ← テキストファイルを転送するのでasciiモードに変更
200 Switching to ASCII mode.
ftp> put index.html ← index.htmlをアップロード
local: index.html remote: index.html
229 Entering Extended Passive Mode (|||20481|)
150 Ok to send data.
100% |**************************************|  3825      5.45 MB/s    --:-- ETA
226 File receive OK. ← アップロードできた
3825 bytes sent in 00:00 (154.86 KB/s)
ftp> bye ← 接続を切る
221 Goodbye.

Webブラウザでhttp://現在構築中のサーバのIPアドレス/ にアクセスし、アップロードしたページが表示されるか確認します。

※ドキュメントルートとは、Webサーバ上のルートディレクトリのことです。 ホームページにアクセスしたときには、このディレクトリが一番上の階層のディレクトリとして見えます。デフォルトでは/var/www/htmlがドキュメントルートに設定されています。
  この記事を PDF フォーマットで見る 記事を印刷する 記事をメールで送信

良く読まれた記事 SMTPサーバ(Postfix)の構築 Webサーバ(Apache)の構築 次の記事
メインメニュー
大橋デザイン室