Initial commit
authorLisa Marie Maginnis <lisam@fsf.org>
Wed, 13 Jan 2016 20:34:14 +0000 (15:34 -0500)
committerLisa Marie Maginnis <lisam@fsf.org>
Wed, 13 Jan 2016 20:34:14 +0000 (15:34 -0500)
user.add [new file with mode: 0644]
user.del [new file with mode: 0644]
user.lock [new file with mode: 0644]

diff --git a/user.add b/user.add
new file mode 100644 (file)
index 0000000..04ef4b1
--- /dev/null
+++ b/user.add
@@ -0,0 +1,35 @@
+control:
+
+  MethodName       = ( AddUser )
+  MethodParameters = ( user shadow realname uid gid home shell )
+  actionsequence   = ( editfiles copy directories timezone )
+
+
+editfiles:
+
+  { /etc/passwd
+
+    AppendIfNoSuchLine "$(user):x:$(uid):$(gid):$(realname):$(home):$(shell)"
+    ResetSearch "1"
+  }
+
+  { /etc/shadow
+    AppendIfNoSuchLine "$(user):$(shadow)"
+    ResetSearch "1"
+  }
+  { /etc/group
+    AppendIfNoSuchLine "$(user):x:$(gid):$(user)"
+    ResetSearch "1"
+  }
+
+
+       classes:
+
+          dummy = ( any )
+
+alerts:
+  dummy::
+  "This simple method does nothing"
+  
+  ReturnVariables(void)
+  ReturnClasses(void)
diff --git a/user.del b/user.del
new file mode 100644 (file)
index 0000000..d964abf
--- /dev/null
+++ b/user.del
@@ -0,0 +1,50 @@
+control:
+
+  MethodName       = ( DelUser )
+  MethodParameters = ( user )
+  actionsequence   = ( editfiles copy directories timezone )
+
+
+editfiles:
+
+  { /etc/passwd
+
+    AppendIfNoSuchLine "$(user):x:$(uid):$(gid):$(realname):$(home):$(shell)"
+    ResetSearch "1"
+  }
+
+  { /etc/shadow
+    AppendIfNoSuchLine "$(user):$(shadow)"
+    ResetSearch "1"
+  }
+  { /etc/group
+    AppendIfNoSuchLine "$(user):x:$(gid):$(user)"
+    ResetSearch "1"
+  }
+
+
+directories:
+  $(home) mode=700 owner=$(user) group=$(user)
+  $(home)/.ssh mode=700 owner=$(user) group=$(user)
+
+copy:
+
+  /srv/cfengine/office/files$(home)/ssh/authorized_keys dest=$(home)/.ssh/authorized_keys
+   r=inf
+   owner=$(user)
+   group=$(user)
+   mode=400
+   server=$(policyhost)
+   trustkey=true
+
+
+classes:
+
+  dummy = ( any )
+
+alerts:
+  dummy::
+  "This simple method does nothing"
+  
+  ReturnVariables(void)
+  ReturnClasses(void)
diff --git a/user.lock b/user.lock
new file mode 100644 (file)
index 0000000..a19fda8
--- /dev/null
+++ b/user.lock
@@ -0,0 +1,50 @@
+control:
+
+  MethodName       = ( LockUser )
+  MethodParameters = ( user )
+  actionsequence   = ( editfiles copy directories timezone )
+
+
+editfiles:
+
+  { /etc/passwd
+
+    AppendIfNoSuchLine "$(user):x:$(uid):$(gid):$(realname):$(home):$(shell)"
+    ResetSearch "1"
+  }
+
+  { /etc/shadow
+    AppendIfNoSuchLine "$(user):$(shadow)"
+    ResetSearch "1"
+  }
+  { /etc/group
+    AppendIfNoSuchLine "$(user):x:$(gid):$(user)"
+    ResetSearch "1"
+  }
+
+
+directories:
+  $(home) mode=700 owner=$(user) group=$(user)
+  $(home)/.ssh mode=700 owner=$(user) group=$(user)
+
+copy:
+
+  /srv/cfengine/office/files$(home)/ssh/authorized_keys dest=$(home)/.ssh/authorized_keys
+   r=inf
+   owner=$(user)
+   group=$(user)
+   mode=400
+   server=$(policyhost)
+   trustkey=true
+
+
+classes:
+
+  dummy = ( any )
+
+alerts:
+  dummy::
+  "This simple method does nothing"
+  
+  ReturnVariables(void)
+  ReturnClasses(void)