summaryrefslogtreecommitdiffstats
path: root/fooconf-unix-passwd
diff options
context:
space:
mode:
Diffstat (limited to 'fooconf-unix-passwd')
-rwxr-xr-xfooconf-unix-passwd31
1 files changed, 31 insertions, 0 deletions
diff --git a/fooconf-unix-passwd b/fooconf-unix-passwd
new file mode 100755
index 0000000..a39fa9b
--- /dev/null
+++ b/fooconf-unix-passwd
@@ -0,0 +1,31 @@
+#!/usr/bin/env python
+# Hey Emacs, this is -*-python-*- code!
+
+from fooconflib import *
+
+def generateUnixPasswdFragment(ctx = FooConfContext()) :
+ cursor = ctx.db.cursor()
+ cursor.execute("SELECT name, id, enabled"+
+ " FROM account")
+
+ while 1:
+ row = cursor.fetchone()
+ if row is None: break
+
+ if row["enabled"] :
+ pw = "xxx"
+ shell = "/bin/sh"
+ else:
+ pw = ""
+ shell = "/bin/false"
+
+ print "%s:%s:%u:%u:%s,Fooconf User:%s:%s" % (ctx.makeSysUserName(row["name"]),
+ pw,
+ ctx.makeSysUID(row["id"]),
+ ctx.makeSysGID(row["id"]),
+ row["name"],
+ ctx.makeHomeDir(row["name"]),
+ shell)
+
+if __name__ == "__main__":
+ generateUnixPasswdFragment()