aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: dd32bd025816f84524b5ddba49095472ebf5135f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Puppet Samba Module

[![Build Status](https://travis-ci.org/ajjahn/puppet-samba.png?branch=master)](https://travis-ci.org/ajjahn/puppet-samba)

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:

```puppet
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.

```puppet
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

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

## License

This module is released under the MIT license:

* [http://www.opensource.org/licenses/MIT](http://www.opensource.org/licenses/MIT)