summaryrefslogtreecommitdiff
path: root/localaddpostmaster
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2006-11-23 21:06:49 +0000
committerJonas Smedegaard <dr@jones.dk>2006-11-23 21:06:49 +0000
commit2f14ec72221f1b799cf68fda91c9de1065315b48 (patch)
tree7ed54043e9f96183e9c681212cd047e40565ded3 /localaddpostmaster
parent3cfc8f9488d87896fdb532f8c2ccad164b882346 (diff)
New script to create user accounts for peer postmasters.
Diffstat (limited to 'localaddpostmaster')
-rwxr-xr-xlocaladdpostmaster27
1 files changed, 27 insertions, 0 deletions
diff --git a/localaddpostmaster b/localaddpostmaster
new file mode 100755
index 0000000..ff7bd9c
--- /dev/null
+++ b/localaddpostmaster
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# /usr/local/sbin/localaddpostmaster
+# Copyright 2006 Jonas Smedegaard <dr@jones.dk>
+#
+# $Id: localaddpostmaster,v 1.1 2006-11-23 21:06:49 jonas Exp $
+#
+# Create account for peer postmasters to securely inject email
+#
+
+set -e
+
+postmastergroup="postmasters"
+
+# postmaster account like "postmaster-jones-dk"
+postmaster="$1"
+
+if ! getent group "$postmastergroup"; then
+ addgroup --system "$postmastergroup"
+fi
+
+adduser --system --no-create-home --group --shell /sbin/noshell "$postmaster"
+adduser "$postmaster" "$postmastergroup"
+
+password="$(gpw 1 14)"
+echo "$postmaster:$password" | /usr/sbin/chpasswd
+echo "Postmaster \"$postmaster\" created. Password is \"$password\""