Forge Home


Install, manage and configure samba server, client and shares.

Rehan Mahmood



463 latest version

5.0 quality score

Version information

  • 1.4.1 (latest)
  • 1.4.0
  • 1.3.1
  • 1.3.0
  • 1.2.0
  • 1.1.0
  • 1.0.0
released May 22nd 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.10 < 7.0.0
  • RedHat
    , ArchLinux

Start using this module

Tags: samba, smb, cifs, wins


rehan/samba — version 1.3.1 May 22nd 2020


Welcome to your new module. A short overview of the generated parts can be found in the PDK documentation at .

The README template below provides a starting point with details about what information to include in your README.

Table of Contents

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


Install, enable and configure a SAMBA Windows share server.


What samba affects OPTIONAL

If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.

If there's more that they should know about, though, this is the place to mention:

  • Files, packages, services, or operations that the module will alter, impact, or execute.
  • Dependencies that your module automatically installs.
  • Warnings or other important notices.

Setup Requirements OPTIONAL

If your module requires anything extra before setting up (pluginsync enabled, another module, etc.), mention it here.

If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.

Beginning with samba

The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.


  • include samba : Main class to manage a Samba server

Example Usage

class { 'samba':
  workgroup            => 'EXAMPLE',
  server_string        => 'Example File Server 01',
  netbios_name         => 'F01',
  interfaces           => [ 'lo', 'eth0' ],
  hosts_allow          => [ '127.', '192.168.' ],
  local_master         => 'yes',
  map_to_guest         => 'Bad User',
  os_level             => '50',
  preferred_master     => 'yes',
  shares => {
    'homes' => {
      comment    => 'Home Directories',
      browseable => false,
      writable   => true,
    'pictures' => {
      comment    => 'Pictures',
      path       => '/srv/pictures',
      browseable => true,
      writable   => true,
      guest ok   => true,
      available  => true,


Users need a complete list of your module's classes, types, defined types providers, facts, and functions, along with the parameters for each. You can provide this list either via Puppet Strings code comments or as a complete list in the README Reference section.

  • If you are using Puppet Strings code comments, this Reference section should include Strings information so that your users know how to access your documentation.

  • If you are not using Puppet Strings, include a list of all of your classes, defined types, and so on, along with their parameters. Each element in this listing should include:

    • The data type, if applicable.
    • A description of what the element does.
    • Valid values, if the data type doesn't make it obvious.
    • Default value, if any.


This is where you list OS compatibility, version compatibility, etc. If there are Known Issues, you might want to include them under their own heading here.


Since your module is awesome, other users will want to play with it. Let them know what the ground rules for contributing are.

Release Notes/Contributors/Etc. Optional

If you aren't using changelog, put your release notes here (though you should consider using changelog). You can also add any additional sections you feel are necessary or important to include here. Please use the ## header.