Forge Home


Samba Module for Puppet


9,864 latest version

2.8 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.3.0 (latest)
  • 0.2.0
  • 0.1.1
  • 0.1.0
released Jan 14th 2015
This version is compatible with:
  • Puppet Enterprise 3.x
  • Puppet 3.x
  • , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'jonnyx-samba', '0.3.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add jonnyx-samba
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install jonnyx-samba --version 0.3.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



jonnyx/samba — version 0.3.0 Jan 14th 2015


####Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with samba
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


The Samba module installs, configures, and manages Samba

##Module Description

The Samba module manages the install and configuration of samba, and follows the manual pages for samba as close as possible. The module aims to be feature complete in regard to the manuals.



Basic usage. Installs the samba client:

class { 'samba::client': }

To manage the samba server:

class { 'samba::server': }

To manage the firewall for samba:

class { 'samba::server':
  manage_firewall => true,

To manage the winbind server:

class { 'samba::winbind': }

To manage a samba share, use the share defined type:

samba::server::share { 'test':
  share_name     => 'test',
  share_comment  => 'MODULES SHOULD GO TO FORGE',
  share_path     => '/vagrant',
  share_guest_ok => 'yes',

Note: There are some options that work well with others, please see the man pages for complete info.



###Public Classes:

  • samba::client
  • samba::server
  • samba::server::install
  • samba::server::config
  • samba::server::service
  • samba::winbind::install
  • samba::winbind::config
  • samba::winbind::service

###Private Classes:

  • samba::params
  • samba::server::firewall


This module has been built on and tested against Puppet 3.0 and higher.

The module has been tested on:

  • CentOS 5
  • CentOS 6
  • Ubuntu 12.04
  • Ubuntu 14.04

LDAP configuration has not been added to this module. Look for future releases for support.


Please submit bugs in the form of pull requests.

###Running Tests

gem install bundler
bundle install
bundle exec rake spec
bundle exec rspec spec/acceptance

##Release Notes/Contributors/Etc


  • Initial release


  • Bug fixes
  • Parameter validation for winbind


  • Restructure of module layout
  • Added firewall support


  • Bug fixes
  • Parameter cleanup
  • Switch to metadata.json
  • Add acceptance testing