diff --git a/conf/type/__user/TODO b/conf/type/__user/TODO
new file mode 100644
index 00000000..5c2eec7d
--- /dev/null
+++ b/conf/type/__user/TODO
@@ -0,0 +1,3 @@
+- gencode: compair new value with existing one in $__object/explorer/passwd, only change if nessecary
+- delete users
+
diff --git a/conf/type/__user/explorer/passwd b/conf/type/__user/explorer/passwd
new file mode 100755
index 00000000..fdbfb193
--- /dev/null
+++ b/conf/type/__user/explorer/passwd
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+# Get an existing users passwd entry.
+#
+
+name=$__object_id
+
+getent passwd "$name" || true
+
diff --git a/conf/type/__user/gencode b/conf/type/__user/gencode
new file mode 100755
index 00000000..7445d6f8
--- /dev/null
+++ b/conf/type/__user/gencode
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+# Manage users.
+#
+
+name="$__object_id"
+
+command=
+if grep -q "^$name" "$__object/explorer/passwd"; then
+ # user exists
+ command="usermod"
+else
+ # user does not exist
+ command="useradd"
+fi
+
+
+set -- "$@"
+cd "$__object/parameter"
+for property in $(ls .); do
+ # TODO: compair new value with existing one in $__object/explorer/passwd, only change if nessecary
+ set -- "$@" "--$property" "$(cat "$property")"
+done
+
+echo $command $@ $name
+
diff --git a/conf/type/__user/man.text b/conf/type/__user/man.text
new file mode 100644
index 00000000..e571c7c5
--- /dev/null
+++ b/conf/type/__user/man.text
@@ -0,0 +1,62 @@
+cdist-type__user(7)
+===================
+Steven Armstrong
+
+
+NAME
+----
+cdist-type__user - Manage users
+
+
+DESCRIPTION
+-----------
+This cdist type allows you to create or modify users on the target.
+
+
+REQUIRED PARAMETERS
+-------------------
+None.
+
+
+OPTIONAL PARAMETERS
+-------------------
+comment::
+ see usermod(8)
+home::
+ see above
+gid::
+ see above
+groups::
+ see above
+password::
+ see above
+shell::
+ see above
+uid::
+ see above
+
+
+EXAMPLES
+--------
+
+--------------------------------------------------------------------------------
+# Create user account for foobar with operating system default settings
+__user foobar
+
+# Same but with a different shell
+__user foobar --shell /bin/zsh
+
+# Set explicit uid and home
+__user foobar --uid 1001 --shell /bin/zsh --home /home/foobar
+--------------------------------------------------------------------------------
+
+
+SEE ALSO
+--------
+- cdist-type(7)
+
+
+COPYING
+-------
+Copyright \(C) 2011 Steven Armstrong. Free use of this software is
+granted under the terms of the GNU General Public License version 3 (GPLv3).
diff --git a/conf/type/__user/parameter/optional b/conf/type/__user/parameter/optional
new file mode 100644
index 00000000..fe02e227
--- /dev/null
+++ b/conf/type/__user/parameter/optional
@@ -0,0 +1,7 @@
+comment
+home
+gid
+groups
+password
+shell
+uid