Puppet Samba Module
Module for provisioning Samba
Supports:
- Ubuntu: 14.04, 12.04
- Debian: 8.x, 7.x
- CentOS: 7.x, 6.x
Patches to support other operating systems are welcome.
Installation
Clone this repo to your Puppet modules directory
git clone git://github.com/ajjahn/puppet-samba.git samba
or
puppet module install ajjahn/samba
Usage
Tweak and add the following to your site manifest:
node 'server.example.com' {
class {'samba::server':
workgroup => 'example',
server_string => "Example Samba Server",
interfaces => "eth0 lo",
security => 'share'
}
samba::server::share {'example-share':
comment => 'Example Share',
path => '/path/to/share',
guest_only => true,
guest_ok => true,
guest_account => "guest",
browsable => false,
create_mask => 0777,
force_create_mask => 0777,
directory_mask => 0777,
force_directory_mask => 0777,
force_group => 'group',
force_user => 'user',
copy => 'some-other-share',
}
}
If you want join Samba server to Active Directory.
node 'server.example.com' {
class {'samba::server':
workgroup => 'example',
server_string => "Example Samba Server",
interfaces => "eth0 lo",
security => 'ads'
}
samba::server::share {'ri-storage':
comment => 'RBTH User Storage',
path => "$smb_share",
browsable => true,
writable => true,
create_mask => 0770,
directory_mask => 0770,
}
class { 'samba::server::ads':
winbind_acct => $::domain_admin,
winbind_pass => $::admin_password,
realm => 'EXAMPLE.COM',
nsswitch => true,
target_ou => "Nix_Mashine"
}
}
Most configuration options are optional.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
License
This module is released under the MIT license: