vsftpdメモ

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

とりあえずFTPを動かしたい場合の設定


YESをNOに変更して匿名ログインを拒否
anonymous_enable=NO

アスキーモードで転送するとかなんとか、これをお好みでコメントアウトを解除
ascii_upload_enable=YES
ascii_download_enable=YES

これをコメントアウトを解除、これはchrootを無効にするユーザーのリストなので中身は空でOK
ちなみに、このファイルが存在しないと一切誰もログインできないという挙動をするので作り忘れに注意
chroot_list_file=/etc/vsftpd/chroot_list

その下にこれを追加、これ重要でこれ設定しないとこのFTPユーザーが / (ルート)まで上がれて
ルートディレクトリが丸見えになるみたい
chroot_local_user=YES

最終行にこれを追加、これはパッシブモードを有効にして、その時に使うポートを制限する
なんで制限するかというと、iptables(ファイアウォール)の設定をしやすくするため
pasv_enable=YES

pasv_min_port=60000
pasv_max_port=60010

これは必須と言うわけでもないが、これを設定しないとFTPクライアントから見た時
ファイルのタイムスタンプがGMTになってしまいずれるので、基本的に入れた方がいいんじゃないだろうか
use_localtime=YES

以上の設定で、linuxのローカルユーザーを作成すればそのIDとパスワードでFTPログインができるようになる
(2012/02/15)

2012/04/23 追記
FTPログインさせなくないユーザーが多い場合、これをvsftpd.confの最後に追加
userlist_deny=NO

で、FTPログインさせたいユーザーをこの中に記述、
デフォルトでいろいろなユーザーが入ってるのでそれらをコメントアウトするのをお忘れなく
user_list

/home 下に各ユーザー毎にディレクトリを作成して、さらにその下のhtml部分だけ素人向けにFTP公開したい場合など、
2段階(?)にユーザーに公開したい場合などに用いられる手法らしい

2012/05/31 追記

FTPユーザーのデフォルトログインディレクトリ

local_root=public_html
という感じで相対パスで指定すれば、ログイン後ユーザーのルートからFTPでアクセスした場合のみこのディレクトリがルートになる
全ユーザー共通の設定なのでディレクトリ名を統一しないと使えないが

情報源
http://www.aconus.com/~oyaji/ftp/vsftpd_rpm.htm

NAT変換するネットワーク内のサーバーを外部公開する

こんな設定もあるらしいが、最近はパッシブ接続する際に通知するIPアドレスを
ルーターが書き換えてくれるらしいので、この設定自体が必要ないかもしれない
pasv_address=ルータのWAN側のIPアドレス
ちなみに、この設定を入れるとサーバーがあるLAN側からローカルIPアドレスで接続できなくなった

ローカルユーザーへの帯域制限

単位はたぶん byte/sec
アノニマスユーザーの帯域は別のオプションで設定できるらしい
local_max_rate=50000

ユーザー個別設定をする

# mkdir /etc/vsftpd/userconf
ここにディレクトリを作る

user_config_dir=/etc/vsftpd/userconf
vsftpd.confにこれを追記

 /etc/vsftpd/userconf/exampleuser
さっき作成したuserconfディレクトリの下に、ユーザー名のファイルを作成して置く

vsftpdを再起動



たまに pasv_promiscuous=YES でパッシブモードを有効とか言っちゃってる人がいるけどこっちは
データコネクションと制御コネクションとが同じIPアドレスからの接続であるかのチェックをしない。
で、デフォルトYESだから設定しても意味ナス。

ログについて

vsftpd.logはワナ、デフォルトではxferlogに出るようになっている
ログ周りの設定がどうかなっているのか、vsftpd.logに1分ごとに
CONNECT: Client "127.0.0.1"
が出力され続けていたが、出力ログをデフォルトに戻したらどこにも出なくなった。
これは一体何だったのか・・・



最終更新:2013年03月06日 19:24