SE&ビジネスパーソンとしてお勉強中なブログ

スポンサーサイト

--/--/-- -- [Edit]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FTPサーバーインストール [Linux(Debian)]

2008/02/02 Sat [Edit]

今日の目標:DebianでFTP接続を行えるようにする。

1.FTPクライアントをインストール

# apt-get update
# apt-get install ftp


2.FTPサーバー(デーモン)プログラムをインストール


色々あるようですが、proFTPをインストール。こちら

【参考URL】
The ProFTPD Project: Home
Configuration Directive List
ProFTPD インストールと設定
ProFTPD - Professional FTP Daemon

# apt-get install proftpd

inetdかスタンドアローンか聞かれる。
頻繁に利用する予定はないのでinetdを選択。

※dpkg-reconfigure proftpdで再設定可能



※inetd
スーパーサーバーと言われるもので、ftpとかtelnetのサービス要求を監視し、 接続が確立した時点で、本来のサーバープログラム(ここではproftpd)に要求を渡します。
メモリなどのリソースの節約にはなりますが、都度、起動することになるので応答は遅くなります。
ftpやtelnet向きでしょうか。

※スタンドアローン
メモリに常駐し、サーバープログラム自身が要求を監視して処理します。


3.inetd(スーパーサーバー)の設定

/etc/inetd.confを編集
# vi /etc/inetd.conf

<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd



-- 参考 ----------------------->
inetd.confのフィールド
フィールド 説明
service_name /etc/servicesで定義されているサービス名
sock_type ソケットタイプ(TCPはstream、UDPはdgram)
proto プロトコル(tcpとかudpとか)
flags サービス要求時の処理方法(wait/nowait)
 wait:1つの要求を処理が終了するまで待機
 nowait:待機せずに次の要求を処理
user サービスを実行するユーザー
server_path サーバープログラム(デーモン)へのフルパス
 TCP Wrappers経由で起動する場合はtcpd
args サーバープログラム(デーモン)へ渡す引数


※ TCP Wrapper(tcpdデーモン)
 ftpdやtelnetdの代わりにアクセス制御の設定ファイル(/etc/hosts.allowと/etc/hosts.deny)をチェックし、サービス要求を許可or拒否します。
 /etc/hosts.allowが先にチェックされ、条件にマッチした場合は、許可され /etc/hosts.denyがチェックされない。
 /etc/hosts.denyがチェックされ、条件にマッチした場合は、拒否される。マッチしなかった場合は、許可される。


※ 設定ファイル(/etc/hosts.allowと/etc/hosts.deny)の書式

デーモン名:ホスト名またはIPアドレス
例)
telnetd: 192.168.0. .hatena.jp ← 192.168.0.*とhatena.jpドメイン
ALL:ALL ← 全てのサービス:全てのホスト

ワイルドカード 説明
ALL 全てのサービスまたはホスト
A EXCEPT B B以外のA
LOCAL ローカルネットワーク内のホスト
PARANOID ホスト名と要求元IPアドレスが異なる

<-----------------------



4.proftpdの設定

# vi /etc/proftpd.conf
ServerType inetd



5./etc/hosts.allowの設定


192.168.0.*とローカルエリアに許可を与えます。
# vi /etc/hosts.allow
proftpd:192.168.0. LOCAL
in.telnetd:192.168.0. LOCAL



6./etc/hosts.denyを設定

全ての接続を拒否します。
# vi /etc/hosts.deny
ALL:ALL


7.inetdを再起動

inetd.confを再び読み込ませます。

# /etc/init.d/inetd restart
もしくは
# killall -HUP inetd



8.ftpコマンドで確認

# ftp localhost

Connected to localhost.
421 Service not available, remote server has closed connection
ftp> quit

繋がらない・・・。

ログを確認。
# tail -5 /var/log/daemon.log

Feb 2 08:31:36 colinux proftpd[450]: connect from 127.0.0.1 (127.0.0.1)
Feb 2 08:31:36 colinux proftpd[450]: getaddrinfo 'colinux' error: Name or service not known
Feb 2 08:31:36 colinux proftpd[450]: warning: unable to determine IP address of 'colinux'
Feb 2 08:31:36 colinux proftpd[450]: error: no valid servers configured
Feb 2 08:31:36 colinux proftpd[450]: Fatal: error processing configuration file '/etc/proftpd.conf'


なんか名前解決できないっぽい。。
# cat hosts

127.0.0.1 localhost
192.168.20.10 green
192.168.20.20 colinux2


#hostname
colinux



hostsの設定とホスト名が違ってた。。
hostnameを修正。
# hostname colinux2
# hostname
colinux2


/etc/hostnameも修正しとく。
(colinux → colinux2)
# vi /etc/hostname

colinux2

もう一度挑戦
# ftp localhost
Connected to localhost.
220 ProFTPD 1.2.10 Server (Debian) [127.0.0.1]
Name (localhost:onion):

繋がりました!


バージョンとか
# dpkg -l | grep ftp
ii ftp 0.17-12 The FTP client.
ii proftpd 1.2.10-15sarge Versatile, virtual-hosting FTP daemon
ii proftpd-common 1.2.10-15sarge Versatile, virtual-hosting FTP daemon



9.WindowsからFTPで繋いでみる

FFFTPというFTPクライアントソフトでつなごうとしましたが、
ファイルリストが表示されない。。


アップロードは出来る。


どうやらDebian(sarge)のProFTPD (1.2.10)から NLSTを利用できないようにしてあるようです。
“NLST -R”コマンドがRFCの定めるFTP標準規格に非準拠となっているらしいです。

ホストの設定→高度→「NLST -Rを使って高速に再帰検索(N)」のチェックを外す→「LISTコマンドでファイル一覧を取得(L)」にチェックを入る→OK

無事、表示されました。

Prev
[Linux(Debian)]/etc/hosts.allow telnet忘れてた・・・
Top
SE&ビジネスパーソンとしてお勉強中なブログ
Next
C言語開発環境構築 [Linux(Debian)]

Comments

 
 
 
 
 
 
 
  非公開コメント
 

Track Backs

TB URL 

[Linux(Debian)]/etc/hosts.allow telnet忘れてた・・・

/etc/hosts.allowにtelnet書くのを忘れててTeraTermから繋がらなくてあせりました。。 /etc/hosts.allowに下記を追加して直りました。 in.telnetd:192.168.0. LOCAL ...

Top
SE&ビジネスパーソンとしてお勉強中なブログ

ブログ内検索

カテゴリー

最近の記事

最近のコメント

最近のトラックバック

RSSリンク

Amazon

楽天 人気商品

なかのひと

iKnow

Dictationバッジ

合わせて

あわせて読みたいブログパーツ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。