FreeBSD/ProFTPD のバックアップ(No.1)


ProFTPD

wuftpdよりも管理がしやすく、セキュリティ的にも安全なftpサーバ
ProFTPDをインストール

 

ソースを持ってくる

http://www.proftpd.org/ より最新のtarballをダウンロードする。
最新はproftpd-1.2.10.tar.gz(2005年4月25日現在)

> wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz

ソースの展開

> tar zxvf proftpd-1.2.10.tar.gz

インストール

> cd proftpd-1.2.10
> ./configure
> make  
> su
# make install

設定ファイルを編集

/usr/local/etc/proftpd.confを編集する。

# vi /usr/local/etc/proftpd.conf
--------------------------------------------------------------------
ServerName            "ProFTPD Default Installation"   FTP接続した時に表示させる名前
ServerType            standalone                       inetdから起動する場合はinetd
User                  nobody
Group                 nobody                           <--nogroupから変更

DefaultRoot           ~ !wheel
DefaultRootの設定:この例ではユーザはホームディレクトリしか移動できないが、wheelグループは別という意味

<Limit SITE_CHMOD>
#     DenyAll
      AllowAll
</Limit>


UseReverseDNS on
IdentLookups off
TimesGMT off
MasqueradeAddress       matsui.homeunix.com
PassivePorts            7000 7030
--------------------------------------------------------------------
Anonymousの部分は全てコメントアウトする。

■PASVモードでインターネット公開する場合の設定

MasqueradeAddress    ルータのWAN側アドレス 又は ドメイン名
PassivePorts        最小ポート番号 最大ポート番号

■FFFTPなどでパーミッションが変更できない。
この部分がDenyでパーミッションの変更を禁止できる。
Allowにする事でパーミッションの変更が行える状態になります。

<Limit SITE_CHMOD>
#     DenyAll
      AllowAll
</Limit>

アクセス制御ファイル作成

このファイルに記述されているユーザではログイン不可となる。

# vi /etc/ftpusers
-------------------------------------------------------------------
root
test
matsui
-------------------------------------------------------------------

inetd.confの編集

ProFTPをinetdから起動するよう。inetd.confを編集

# vi /etc/inetd.conf
-------------------------------------------------------------------
ftp stream tcp nowait root /usr/local/libexec/proftpd proftpd
-------------------------------------------------------------------
inetdを再起動
# kill -HUP `cat /var/run/inetd`

エラーを出ないようにする。

このままでも起動するが、「no modules loaded for `ftpd' service」という
エラーが毎回でてしまうので、解消する。

# vi /etc/pam.conf
------------------------------------------------------------------
ftpd auth required pam_unix.so try_first_pass
ftpd account required pam_unix.so try_first_pass
ftpd session required pam_permit.so
------------------------------------------------------------------
以上を追加する。

これで完了です。