2010年12月15日水曜日

FreeBSD8.0 + ProFTPD1.3.3 インストール

ProFTPDインストール
FreeBSD 8.0
ProFTPD 1.3.3
----

■ProFTPDのインストール

Portsからインストールすると簡単です。

#cd /usr/ports/ftp/proftpd
#make configure
#make install clean

続いて設定ファイルを編集します。

#emacs /usr/local/etc/proftpd.conf
[/usr/local/etc/proftpd.conf]
-------
ServerName "EXAMPLE_COM"
ServerType standalone
DefaultServer on
TimesGMT off
UseReverseDNS off
IdentLookups off
ListOptions "-a"

# Port 21 is the standard FTP port.
Port 21
#######PASVモードを使うときの記述
AllowForeignAddress on
MasqueradeAddress ftp.example.com
PassivePorts 10000 10010
#######PASVモードの記述ここまで

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 30

User nobody
Group nogroup

TimeoutIdle 600
TimeoutLogin 300
TimeoutNoTransfer 600
TimeoutStalled 3600

DefaultRoot ~ !wheel

ShowSymlinks on

------

自動起動の設定
次の行を追加します
#emacs /etc/rc.conf

[/etc/rc.conf] 最終行あたりにでも
------
proftpd_enable="YES"
------

■ProFTPDの起動テスト

#/usr/local/etc/rc.d/proftpd start

192.168.0.100 - 192.168.0.100:21 masquerading as 192.168.0.100

この様に表示されるはずです。

もし、
Starting proftpd.
- Fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (--enable-ipv6) on \
line 36 of '/usr/local/etc/proftpd.conf'
./proftpd: WARNING: failed to start proftpd

のように表示されていれば、IPv6を使わないつもりで

[proftpd.conf]
UseIPv6 off

としていれば、この症状が出ます。

[proftpd.conf]
#UseIPv6 on

のようにコメントアウトすることで正常起動すると思います。


これでサーバーを再起動するとProFTPDが起動してきます。

プロセスの確認
#ps -ax

     :
1439 ?? Ss 0:00.00 proftpd: (accepting connections) (proftpd)
     :

の様にプロセスが確認できればProFTPDが動作しています。

■ユーザーアカウントの追加
ユーザーを追加します。
ここではユーザー名をdaimazinとして登録し、telnet等でログイン出来ない様に
shellにはnologinを設定します。
途中の入力はEnterでよくカッコ内[]に表示される値がデフォルト値です。

# adduser daimazin

Username: daimazin
Full name: daimazin
Uid (Leave empty for default):
Login group [daimazin]:
Login group is daimazin. Invite daimazin into other groups? []:
Login class [default]:
Shell (nologin sh csh tcsh bash rbash nologin) [sh]: nologin ←nologinと入力
Home directory [/home/daimazin]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : daimazin
Password : *****
Full Name : daimazin
Uid : 1011
Class :
Groups : daimazin
Home : /home/daimazin
Home Mode :
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (daimazin) to the user database.
Add another user? (yes/no): no
Goodbye!

これでユーザーが追加されました。


■/etc/shellsの修正
shellに/usr/sbin/nologinを指定することで、セキュリティー上の
安全性が増すのですが、そのままではFTPクライアントからの接続が
出来ません。
そこで/etc/shellsを修正し/usr/sbin/nologinを最終行に追加します。

[/etc/shells]
/usr/sbin/nologin

■FTPクライアントのインストール
Windowsなら

FileZilla
FFFTP

あたりがオススメです。

■ルーターのポート開放
FTPサーバーが自宅サーバー等でルーターの内側にある場合は
ルーターのポート開放を行わなければなりません。

ポート21を開放します。

[/usr/local/etc/proftpd.conf]
PassivePorts 10000 10010

で指定したポートを開放します。
この例では10000-10010を開放します。

完成!