Puppet vsftpd module
Puppet
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
manifests
templates allow an undef value in directives, and ignore it May 15, 2014
tests Initial import of the vsftpd module Apr 3, 2012
ChangeLog Update 0.2.1 Feb 24, 2014
LICENSE Update README and use 2-space indent May 20, 2013
Modulefile Update 0.2.1 Feb 24, 2014
README.md Support arbitrary extra directives and empty/custom template Oct 14, 2013

README.md

puppet-vsftpd

Overview

This module enables and configures a vsftpd FTP server instance.

  • vsftpd : Enable and configure the vsftpd FTP server

Examples

With all of the module's default settings :

include vsftpd

Tweaking a few settings (have a look at manifests/init.pp to know which directives are supported as parameters) :

class { 'vsftpd':
  anonymous_enable  => 'NO',
  write_enable      => 'YES',
  ftpd_banner       => 'Marmotte FTP Server',
  chroot_local_user => 'YES',
}

For any directives which aren't directly supported by the module, use the additional directives hash parameter :

class { 'vsftpd':
  ftpd_banner => 'ASCII FTP Server',
  directives  => {
    'ascii_download_enable' => 'YES',
    'ascii_upload_enable'   => 'YES',
  },
}

And if you really know what you are doing, you can use your own template or start with an empty one which is provided (see vsftpd.conf(5)) in order to have all configuration passed in the directives hash :

class { 'vsftpd':
  template   => 'vsftpd/empty.conf.erb',
  directives => {
    'ftpd_banner'        => 'Upload FTP Server',
    'listen'             => 'YES',
    'tcp_wrappers'       => 'YES',
    'anon_upload_enable' => 'YES',
    'dirlist_enable'     => 'NO',
    'download_enable'    => 'NO',
  },
}