Proftpdのインストール
Proftpdをインストールすると、LAN内のほかのマシンからファイルをアップロードしたり、ダウンロードしたりできるようになる。
ProftpdをDebian GNU/Linuxでインストールするには以下のコマンドをrootで実行する。
#apt-get install proftpd
このときinetにするかstandaloneにするか聞かれる。standaloneを選ぶ。べつにinetでもいい。
デーモンって何?
デーモン(Daemon)とはギリシャ語で「守護神、悪魔」という意味らしい。
サーバのプロセスはこのDaemonと呼ばれるプログラムで監視されている。
Proftpdの最後の文字dはデーモンを表している。この最後にdの文字が来るプログラムはいくつかインストールするかもしれない。
Proftpdの設定
ユーザの追加についてはまた書くが、次に「/etc/proftpd/proftpd.conf」をviで編集する。
DefaultRootが始まる行があるが、それをユーザのホームディレクトリ(public_html)にするために、ホームディレクトリを表す「~」(チルダ)にする。
DefaultRoot ~
また、たとえばshimirinが管理者の場合、shimirinというユーザはホームディレクトリより上のディレクトリに行けるようにしておく必要がある。その場合、
DefaultRoot ~ !shimirin
とする。「!」はプログラミング言語などでしばしば「否定」を表す。
この一行は「shimirin以外のDefaultRootはホームディレクトリ」ということである。
設定したらProftpdを再起動する。
#/etc/init.d/proftpd restart
これでWindowsやMacマシンからでもftpクライアントソフト(ffftpなど)が使えるようになる。
Proftpdを使えるようになると複数のマシンのファイル管理が楽になる
たとえばWindowsマシンのハードディスクの調子が悪かったとしよう。「なにか嫌だな」と思ったとき、Linuxのハードディスクに適当なフォルダを作ってそこにアップロードしてしまえばいい。あるいはLinuxマシンから音声ファイルなどをダウンロードしてWindows側で処理したくなることもある。
iptablesをロードしている場合
ftpクライアントがpassiveモードでアクセスしようとするとき、「nf_conntrack_ipv4」か「ip_conntrack_ftp」のモジュールがロードされていないとアクセスできない。Debian GNU/Linux squeezeの場合「nf_conntrack_ipv4」が初めからロードされていた。
root@debian5:/home/shimirin# lsmod
Module Size Used by
.........
nf_defrag_ipv4 779 1 nf_conntrack_ipv4
xt_state 927 1
nf_conntrack 37775 2 nf_conntrack_ipv4,xt_state
iptable_filter 1790 1
ip_tables 7690 1 iptable_filter
........
ロードしているモジュールを確認するときには、
#lsmod
でするが、モジュールをロードするときには、
#modprobe ip_conntrack_ftp
のようにする。最新のkernelでは「nf_conntrack_ipv4」がロードされているだろう。「ip_conntrack_ftp」はkernelから削除されるらしい。