FreeBSDと他のPC間でファイルをやりとりをしたい場合に、できなくて困るということが結構あります。
PC間のファイル転送と言えばネットワーク共有やFTPが基本ですが、FreeBSDは標準でFTPサーバー(FTPd)がインストールされていますのでこれを使うのが楽だと思います。
FreeBSDにはOS標準でFTPdがインストールされていますので、設定を有効にするだけでFTPdが立ち上がります。
FTPdはinetdというデーモン上で動作させるのがお手軽ですので、inetdが動いてない環境では最初にinetdが動くように設定します。
> su
# /stand/sysinstall
でsysinstall menuを起動します。
起動できたら[Configure]-[Networking]へ進み、[inetd]のチェックボックスを有効にします。
すると「inetdを有効にするとシステムがネットワークに晒されることになるからリスクが生じますよ」というメッセージが表示されますので「Yes」を選択して承諾してください。
すると次の画面で「/etc/inetd.confを設定しますか?」とメッセージが表示されます。
inetd上ではTelnetdやFTPdなどを動かすことが可能ですが、その設定ファイルが/etc/inetd.confになります。
今回はFTPdを動かしたいので/etc/inetd.confを編集する必要がありますので「Yes」を選択し編集します。
# vi /etc/inetd.conf
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
ftp straam tcpと書いてある部分のコメントを外す。tcp6の方はIPv6版
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
ftpdのコメントアウトを外し/etc/inetd.confを保存したらsysinstallに戻りますのでExitで終了させてください。
PCを再起動すればinetdが起動し、その中でftpdが起動するようになります。
再起動後に正常に起動しているかを確かめるには、
> ps ax | grep inetd
529 ?? Is 0:00.00 /usr/sbin/inetd -wW -C 60
としてinetdが表示されればまずは成功です。
さらに、
> ftp localhost
と入力して、ユーザー名を求められたらftpdが正常稼働していますので、他のPCからFTPクライアントを使ってアクセスすればファイル転送が可能になります。
/stand/sysinstallは便利ですが、直接設定ファイルを編集すればより簡単にftpdを有効にできます。
まずinetdを起動させるには/etc/rc.confに以下を記述します。
inetd_enable="YES"
記述できたらinetdの設定ファイル/etc/inetd.confを編集します。
これはsysinstall使用時と同じで、
# vi /etc/inetd.conf
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
ftp straam tcpと書いてある部分のコメントを外す。tcp6の方はIPv6版
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
とすれば完了です。
PCを再起動すればftpdが使用可能になります。