aboutsummaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2010-10-17 18:37:58 +0200
committerintrigeri <intrigeri@boum.org>2010-10-17 18:37:58 +0200
commit619ca3f02fdbed3b39217a770d66dca0d7a3bb43 (patch)
treede44089f41f2ecb4792884744fecebe7ea5e530b /manifests
downloadpuppet-loginrecords-619ca3f02fdbed3b39217a770d66dca0d7a3bb43.tar.gz
puppet-loginrecords-619ca3f02fdbed3b39217a770d66dca0d7a3bb43.tar.bz2
Initial commit, with untested faillog support.
Diffstat (limited to 'manifests')
-rw-r--r--manifests/base.pp3
-rw-r--r--manifests/debian.pp12
-rw-r--r--manifests/faillog.pp25
-rw-r--r--manifests/init.pp15
4 files changed, 55 insertions, 0 deletions
diff --git a/manifests/base.pp b/manifests/base.pp
new file mode 100644
index 0000000..66d3477
--- /dev/null
+++ b/manifests/base.pp
@@ -0,0 +1,3 @@
+class loginrecords::base {
+
+}
diff --git a/manifests/debian.pp b/manifests/debian.pp
new file mode 100644
index 0000000..236cbe2
--- /dev/null
+++ b/manifests/debian.pp
@@ -0,0 +1,12 @@
+class loginrecords::debian inherits loginrecords::base {
+
+ $login_defs_file = '/etc/login.defs'
+
+ if $enable_faillog {
+ include loginrecords::faillog::enable
+ }
+ else {
+ include loginrecords::faillog::disable
+ }
+
+}
diff --git a/manifests/faillog.pp b/manifests/faillog.pp
new file mode 100644
index 0000000..2af2299
--- /dev/null
+++ b/manifests/faillog.pp
@@ -0,0 +1,25 @@
+class loginrecords::faillog::enable {
+ replace { 'loginrecords-faillog-enable':
+ file => $login_defs_file,
+ pattern => '^FAILLOG_ENAB\w+no$',
+ replace => 'FAILLOG_ENAB yes',
+ }
+ append_if_no_such_line { 'loginrecords-faillog-enable':
+ file => $login_defs_file,
+ line => 'FAILLOG_ENAB yes',
+ require => Replace['loginrecords-faillog-enable'],
+ }
+}
+
+class loginrecords::faillog::disable {
+ replace { 'loginrecords-faillog-disable':
+ file => $login_defs_file,
+ pattern => '^FAILLOG_ENAB\w+yes$',
+ replace => 'FAILLOG_ENAB no',
+ }
+ append_if_no_such_line { 'loginrecords-faillog-disable':
+ file => $login_defs_file,
+ line => 'FAILLOG_ENAB no',
+ require => Replace['loginrecords-faillog-disable'],
+ }
+}
diff --git a/manifests/init.pp b/manifests/init.pp
new file mode 100644
index 0000000..c615d90
--- /dev/null
+++ b/manifests/init.pp
@@ -0,0 +1,15 @@
+class loginrecords {
+
+ case $kernel {
+ "Linux": {
+ case $operatingsystem {
+ "debian", "ubuntu": { include loginrecords::debian }
+ default: { include loginrecords::base }
+ }
+ }
+ default: {
+ err("Kernel $kernel is not supported.")
+ }
+ }
+
+}