aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 6bb9a79fe39b483a2bf87217790f48df35d67bc5 (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
# Puppet Samba Module

Module for provisioning Samba

Tested on Ubuntu 12.04, CentOS 6.3, 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. Tested on Ubuntu 12.04.

    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)