From 4a5e98f558c67ae977e7ce92fd51b7e4d395e14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Sat, 29 Aug 2009 18:30:57 +0300 Subject: [PATCH] Initial version of samba module. --- samba/files/lmhosts | 0 samba/manifests/init.pp | 62 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 samba/files/lmhosts create mode 100644 samba/manifests/init.pp diff --git a/samba/files/lmhosts b/samba/files/lmhosts new file mode 100644 index 0000000..e69de29 diff --git a/samba/manifests/init.pp b/samba/manifests/init.pp new file mode 100644 index 0000000..2b2f11b --- /dev/null +++ b/samba/manifests/init.pp @@ -0,0 +1,62 @@ +# Install samba server. +# +class samba::server { + + package { "samba": + ensure => installed, + } + + service { "smb": + ensure => running, + enable => true, + hasstatus => true, + hasrestart => true, + require => File["/etc/samba/smb.conf"], + } + + file { "/etc/samba/smb.conf": + ensure => present, + source => [ "puppet:///files/samba/smb.conf.${fqdn}", + "puppet:///files/samba/smb.conf", ], + mode => 0644, + owner => root, + group => root, + require => Package["samba"], + } + + file { "/etc/samba/lmhosts": + ensure => present, + source => [ "puppet:///files/samba/lmhosts.${fqdn}", + "puppet:///files/samba/lmhosts", + "puppet:///samba/lmhosts", ], + mode => 0644, + owner => root, + group => root, + require => Package["samba"], + } + +} + + +# Join samba server into domain. +# +# === Global variables +# +# $samba_join_user: +# Username to use when joining domain. +# +# $samba_join_pass: +# Password to use when joining domain. +# +class samba::domainmember { + + include samba::server + + exec { "net join": + command => "net join -U ${samba_join_user}%'${samba_join_pass}'", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + onlyif => "rpcclient localhost -c 'srvinfo' -U root%'' 2>&1 | grep 'NT_STATUS_CANT_ACCESS_DOMAIN_INFO'", + require => Service["smb"], + } + +}