ぱそくま ろご
linux > vsftpd > vsftpdとは

vsftpdとは

vsftpdとは

vsftpdとはFTPサーバーを構築するためのソフトです。vsftpdは「Very Secure FTP Daemon」の略です。

vsftpdのインストール

yum install vsftpdで行います。Is this ok [y/N]:と聞かれるので「y」を入力します。(yum -y ins...とするとy/Nは聞かれません。)

  • [paso ~] su
  • パスワード:[rootのパスワード]
  • [root ~] yum -y install vsftpd
  • Loaded plugins: fastestmirror
  • .
  • .
  • Installed: vsftpd.i386 0:2.0.XXX
  • Complete!


設定ファイル(vsftpd.conf)

vsftpdは起動時に設定ファイル(コンフィグレーションファイルといいます)を読み込み、制限やログ方法などを決定します。その設定ファイル名はvsftpd.confです。 vsftpd.confは/etcの直下(/etc/vsftpd.conf)に置きます。 ただし、CentOSやFedoraなどでは/etc/rc.d/init.d/vsftpdに/etc/vsftpd/ディレクトリが存在すると/etc/vsftpd/vsftpd.confを参照するように書かれているので注意してください。

vsftpd.confのサンプル

以下がvsftpd.confのサンプルです。なるべく危険性がないよう安全面を考慮したサンプルにしたつもりですが、参考にされる場合は必ず自分や自社のセキュリティポリシー等に合うかどうか、確認してください。

注意)vsftpdの設定ファイルにはコメントでも日本語が書かれていると読み込みに失敗する場合があります。下記の内容をご利用の場合はコメントを全て削除してください。

/etc/vsftpd/vsftpd.conf

  • # Example config file /etc/vsftpd/vsftpd.conf
  • # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
  • anonymous_enable=NO #anonymousは接続不可
  • local_enable=YES #localユーザは接続可能
  • write_enable=YES #STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, SITEコマンド許可
  • local_umask=022 #ファイルのパーミッションを666-022=644に設定
  • dirmessage_enable=YES #ログイン時にホームディレクトリにある.messageの内容を表示
  • xferlog_enable=YES # アップロードとダウンロードの詳細ログをとります。
  • xferlog_std_format=YES
  •  
  • #【以下3行】/etc/vsftpd/user_listに指定したユーザのみアクセスを許可する。
  • userlist_enable=YES
  • userlist_deny=NO
  • userlist_file=/etc/vsftpd/user_list
  •  
  • #【以下3行】/etc/vsftpd/chroot_listに指定したユーザのみがホームディレクトリ以上にアクセス可。
  • chroot_local_user=YES
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/chroot_list
  •  
  • listen=YES
  • connect_from_port_20=YES
  • tcp_wrappers=YES
  • use_localtime=YES #ローカルタイム有効(これ、結構重要)
  •  
  • pam_service_name=vsftpd

/etc/vsftpd/user_list

  • #ここに書かれているユーザーのみアクセスを許可します。
  • #もちろん、/etc/vsftpd/ftpusersに書かれていたらアクセスできません。
  • hanako
  • tarou
  • jirou
  • saburou
  • kanrisya

/etc/vsftpd/chroot_list

  • #ここに書かれているユーザのみがrootディレクトリにアクセス可能です。
  • kanrisya

PASVモードを有効にする

ftpのpasvモードを利用する場合、カーネルに「ip_conntrack_ftp」モジュールをロードする必要があります。これは/etc/sysconfig/iptables-config で指定します。

/etc/sysconfig/iptables-config

  • # Load additional iptables modules (nat helpers)
  • # Default: -none-
  • .
  • #IPTABLES_MODULES=""
  • IPTABLES_MODULES="ip_conntrack_ftp"
  • .

vsftpdの起動、停止、再起動

サービスとして起動

  • [root ~] /sbin/service vsftpd start
  • もしくは
  • [root ~] /etc/rc.d/init.d/vsftpd start

サービスの停止

  • [root ~] /sbin/service vsftpd stop
  • もしくは
  • [root ~] /etc/rc.d/init.d/vsftpd stop

サービスの再起動

  • [root ~] /sbin/service vsftpd restart
  • もしくは
  • [root ~] /etc/rc.d/init.d/vsftpd restart

条件を変えて複数起動したい場合はvsftpd.confをvsftpdXXX.confなど別の設定ファイルを用意し、vsftpdを起動して下さい。

  • [root ~] vsftpd /etc/vsftpd/vsftpdXXX.conf &