# apt-get install vsftpd
次に、FTPユーザを追加します。ここで作成したユーザ名とパスワードはそのままFTPへのログイン名とパスワードになります。
ここでの設定例では(公開ディレクトリとユーザ名は適当に作成しました。任意のディレクトリとユーザが設定できます)公開ディレクトリ:/mnt/ftp/pub/
ユーザ名:ftpman
パスワード:xxxxxxx ←適当につけて下さい
- ファイル編集:/etc/shells
- /etc/shellsに下記の文字を追加します。これでユーザ登録の際に、シェルを/bin/falseと指定されたユーザは FTPログインが出来てFTPコマンドは通りますが、一般シェルの操作はできずに余計な操作をされるのを防ぎます
/bin/false
- コマンド:FTPユーザ追加
- FTPで公開したいディレクトリを作成
今回の例では/mnt/ftp/pub/が公開ディレクトリになる
# mkdir /mnt/ftp/
# mkdir /mnt/ftp/pub/
FTPユーザ用のグループを作成(例ではftpgroup)
# groupadd ftpgroup
ユーザ追加コマンドの-dのあとにホームディレクトリを指定(このディレクトリが公開されます)、この例ではftpmanという名前のユーザを作成しています。作成するユーザはFTPのためだけに作成するものと考えてください。
# useradd -d /mnt/ftp/pub -g ftpgroup -s /bin/false ftpman
パスワードを設定 ここで設定したパスワードがFTPへのログインパスワードになります
# passwd ftpman ←エンターを押して続けてパスワードを入力する次にvsFTPdの設定をします。
- ファイル編集:/etc/vsftpd.conf
- anonymous_enable=NO アノニマスでのアクセスを許可しない
local_enable=YES サーバで登録したユーザ名でアクセスする
write_enable=YES FTPサーバに書き込みを許可する
ls_recurse_enable=YES コメントアウトをはずしてサブディレクトリの処理も行えるようにする
pasv_enable=yes PASVモードを有効
pasv_min_port=50000(例) PASVモードで使用するポートを指定(範囲始め)
pasv_max_port=50029(例) PASVモードで使用するポートを指定(範囲終わり)
chrootの設定。この設定をしないとFTPでログインしたディレクトリより上位のディレクトリへ移動できてしまいます
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
バナーを非表示にして余計な情報を公開しないようにします
ftpd_banner=Welcome to FTP service.
local_umask=022 書き込みパーミッションをrw-r--r--にする
転送量が多すぎたりするとプロバイダに帯域制限をされる可能性がありますので転送速度を程ほどに抑えておいたほうがいい場合もあります
その場合、例えば下記の一文を追加すると転送速度が300KB/秒に制限されます。anonymous接続の場合は「anon_max_rate」
local_max_rate=300000(例)- コマンド:公開ディレクトリのパーミッション変更
- /mnt/ftp/pub/のグループをftpgroupにする
# chgrp ftpgroup /mnt/ftp/pub/
/mnt/ftp/pub/のオーナーをftpmanにする
# chown ftpman /mnt/ftp/pub/
vsFTPdを再起動して設定を反映させる
# /etc/init.d/vsftpd restart上記vsftpd.confファイル内のchroot設定で指定した/etc/vsftpd.chroot_listのファイルを作成します。
- コマンド:/etc/vsftpd.chroot_list作成
- 何も記載せずに保存して空ファイルを作成する
# vi /etc/vsftpd.chroot_list すぐに:wqコマンドで保存終了させるあとは玄箱ファイアウォールiptableの設定で20番、21番、50000から50029番のポートを開放させ、ルータのファイアウォールも開放、 かつポートフォワーディングの設定も行います。
外部からftp://xxx.xxxx.xxx(サーバのアドレス)にブラウザからアクセスすれば公開フォルダの中身が閲覧できます。 または 「FFFTP」のようなFTPクライアントソフトを使用しても同様です。ユーザ名とパスワードは上記作成したものを使用します。
玄箱で遊ぼう!!―玄箱/玄箱HG対応 
玄箱の本 
玄箱をハックしよう!―ハックキットで夢のVine Linuxホームサーバー 