Vsftpd

From DD-WRT Wiki

Revision as of 18:14, 18 December 2006 by Trey504 (Talk | contribs)
Jump to: navigation, search

by Helmutoh

Contents

Requirements

First be sure that you have enough memory free. Because of this I describe the installation on SD-cards (/mmc). For sure you can also use your SMBshare-dir. Additionally this procedure will show how to install even the needed ipkg packages on the SD-card.

Preparation

For ipkg we will need the following directories on the SD-Card:

  mkdir /mmc/jffs
  mkdir /mmc/jffs/tmp
  mkdir /mmc/jffs/tmp/ipkg

Installing vsftpd

Installation of vsftpd-Server from downloads.openwrt.org

  ipkg -d /mmc/jffs install http://URL_2_vsftpd

Please ensure using the correct URL to the vsftpd-package. Ignore the warnings during ipkg-installation.

Installing uclibc

Because of not running with the standard-libs of DD-WRT we will install uclibc for use with vsftpd:

  ipkg -d /mmc/jffs install http://URL_2_uclibc

Unsure the correct URL to uclibc again!

Config File

For anon login use the following:

  anon_mkdir_write_enable=YES
  anon_upload_enable=YES
  no_anon_password=YES
  anon_world_readable_only=NO
  # leave this as / needs to be nonwritable
  anon_root=/
  # you might have to make this dir
  secure_chroot_dir=/jffs/var/run/vsftpd
  ftp_username=root
  nopriv_user=root
  background=YES
  listen=YES
  anonymous_enable=YES
  local_enable=YES
  write_enable=YES
  local_umask=022
  check_shell=NO
  dirmessage_enable=YES
  ftpd_banner=ROUTER

Start script for vsftpd

The following script starts vsftpd using the libuclibc:

  export LD_PRELOAD='/mmc/jffs/lib/libuClibc-0.9.27.so'
  /mmc/jffs/usr/sbin/vsftpd /mmc/jffs/etc/vsftpd.conf
  unset LD_PRELOAD
  env > /dev/null

In second line the server ist startet using it's config file. Please refer to the vsftpd manpage learning more about this.

Save the script in your router (here: /mmc/progs/ftpserver/start).

Changes to startup section

Please be sure the ftp-server is working properly before changing the startup for the router.

Go to Administration - Diagnostics in the routers config and add the following lines to the startup section

  cd /mmc/progs/ftpserver
  ./start


Firewall settings

To get the FTP-Server enabled from WAN side add the following line to the firewall section:

  /usr/sbin/iptables -I INPUT 1 -p tcp --dport 21 -j logaccept