Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 0565e4d474

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Puppet module: vsftpd

# Written by Lab42 #

# Customized by Matteo Cappadonna

Licence: Apache2

This module installs and manages vsftpd.
Standard and Example42 extended classes are available.
Generally you can easily import and use standard classes in your own modules set, without other Example42 modules.
You can place your customizations in the dedicated "project" files (by default example42.pp, use the script to rename them).
Decide and customize how you want to define configuration files: static files, templates, infile modifications...


$vsftpd_standalone        # Boolean. Tell if vsftpd run in standalone module or via inetd. (default: true)
$vsftpd_anonymous_enable  # Boolean. Tell if vsftpd accept anonymous user account. (default: false)
$vsftpd_local_user_enable # Boolean. Tell if vsftpd accept local user account. (default: true)
$vsftpd_write_enable      # Boolean. Tell if vsftpd accept ftp's write commands. (default: true)
$vsftpd_log_transfer      # Boolean. Tell if vsftpd log any upload/download. (default: true)
$vsftpd_log_file          # Upload/Download log file (default: /var/log/vsftpd.log)
$vsftpd_chroot_dir        # Secure chroot directory for vsftpd (default: /var/run/vsftpd)

# Standard Classes 
include vsftpd              # Install and run vsftpd 

include vsftpd::disable     # Disable vsftpd service.
include vsftpd::disableboot # Disable vsftpd service at boot time, but don't stop if it's running.
include vsftpd::absent      # Remove vsftpd package.
include vsftpd::debug       # Used for debugging purposes (not resource hungry) - Automatically included if $debug=yes - Requires Example42's puppet module

# Extended Classes (generally require storeconfigs)
include vsftpd::monitor     # Monitor vsftpd - Automatically included if $monitor=yes - Requires Example42's monitor module
include vsftpd::backup      # Backup vsftpd data - Automatically included if $backup=yes - Requires Example42's backup module
include vsftpd::firewall    # Manages firewall rule for vsftpd service - Automatically included if $firewall=yes - Requires Example42's firewall module

# Generic define to set parameters in the main configuration file. EXPERIMENTAL.
vsftpd::conf { "ParameterName": value="YourValue"} # Generic 

# Module specific classes

# Module specific defines

Example42 modules collection uses some general variables that can influence the behaviour of this module.
You can happily live without considering or setting them, but they can be useful to manage different projects maintanining the module's resuability. 
$my_project - If set, permits you to alter and customize the module behaviour
  and files's deploy logic in custom project classes than can be placed in a separated module.   
$base_source - Let you define an alternative source for static files:
  - $base_source not set -> Files are looked in puppet://$servername/ (the PuppetMaster)
  - $base_source set -> Files are looked in $base_source ( could be puppet://$servername/$my_module ) 
  Note that the module automatically manages the different paths for Puppet pre 0.25

Standard classes generally don't need external modules.
Extended classes need the relevant external modules ( monitor ; backup ... ) and the "common" module.
vsftpd::conf generic infile configuration define needs the "common" module
Check on individual module specific classes and defines if there are specific requirements.
Something went wrong with that request. Please try again.