--- /dev/null
+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)
--- /dev/null
+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)
--- /dev/null
+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)