aboutsummaryrefslogtreecommitdiff
path: root/manifests/server.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/server.pp')
-rw-r--r--manifests/server.pp36
1 files changed, 31 insertions, 5 deletions
diff --git a/manifests/server.pp b/manifests/server.pp
index bc1e3d7..2e4c2d9 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -2,16 +2,20 @@ class samba::server($interfaces = '',
$security = '',
$server_string = '',
$unix_password_sync = '',
- $workgroup = '') {
+ $workgroup = '',
+ $bind_interfaces_only = 'yes',) {
include samba::server::install
include samba::server::config
include samba::server::service
- $context = '/files/etc/samba/smb.conf'
- $target = "target[. = 'global']"
+ $incl = '/etc/samba/smb.conf'
+ $context = "/files/etc/samba/smb.conf"
+ $target = "target[. = 'global']"
augeas { 'global-section':
+ incl => $incl,
+ lens => 'Samba.lns',
context => $context,
changes => "set ${target} global",
require => Class['samba::server::config'],
@@ -21,23 +25,45 @@ class samba::server($interfaces = '',
set_samba_option {
'interfaces': value => $interfaces;
- 'bind interfaces only': value => 'yes';
+ 'bind interfaces only': value => $bind_interfaces_only;
'security': value => $security;
'server string': value => $server_string;
'unix password sync': value => $unix_password_sync;
'workgroup': value => $workgroup;
}
+
+ file {'check_samba_user':
+ # script checks to see if a samba account exists for a given user
+ path => '/sbin/check_samba_user',
+ owner => root,
+ group => root,
+ mode => "0755",
+ content => template("${module_name}/check_samba_user"),
+ }
+
+ file {'add_samba_user':
+ # script creates a new samba account for a given user and password
+ path => '/sbin/add_samba_user',
+ owner => root,
+ group => root,
+ mode => "0755",
+ content => template("${module_name}/add_samba_user"),
+ }
}
define set_samba_option ( $value = '', $signal = 'samba::server::service' ) {
+ $incl = $samba::server::incl
$context = $samba::server::context
- $target = $samba::server::target
+ $target = $samba::server::target
+
$changes = $value ? {
default => "set \"${target}/$name\" \"$value\"",
'' => "rm ${target}/$name",
}
augeas { "samba-$name":
+ incl => $incl,
+ lens => 'Samba.lns',
context => $context,
changes => $changes,
require => Augeas['global-section'],