summaryrefslogtreecommitdiff
path: root/trove-backup.configure
diff options
context:
space:
mode:
authorRichard Ipsum <richard.ipsum@codethink.co.uk>2013-12-16 14:27:40 +0000
committerRichard Ipsum <richard.ipsum@codethink.co.uk>2013-12-17 15:56:55 +0000
commita69f811ebbdcee047cad2d2bbcd4f5a1fbd1f078 (patch)
tree11a570b7b1ce6b60620e60a2bb23dbba41bd7ab5 /trove-backup.configure
parent2e8685ed6fc35bf62569b514929388f7df189055 (diff)
downloaddefinitions-a69f811ebbdcee047cad2d2bbcd4f5a1fbd1f078.tar.gz
Add trove
Diffstat (limited to 'trove-backup.configure')
-rwxr-xr-xtrove-backup.configure55
1 files changed, 55 insertions, 0 deletions
diff --git a/trove-backup.configure b/trove-backup.configure
new file mode 100755
index 00000000..59d90728
--- /dev/null
+++ b/trove-backup.configure
@@ -0,0 +1,55 @@
+#!/bin/sh
+#
+# Copyright (C) 2013 Codethink Limited
+#
+# This program 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; version 2 of the License.
+#
+# This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#
+# This is a "morph deploy" configuration extension to set up the Trove with a
+# backup user that can be accessed with rsync.
+# It takes one environment variable:
+#
+# TROVE_BACKUP_KEYS - a space-separated list of paths to SSH keys.
+
+set -e
+
+ROOT="$1"
+BACKUP_HOME=/root/backup-user-home
+
+##########################################################################
+
+if [ -n "$TROVE_BACKUP_KEYS" ]; then
+ cat >"$1/etc/rsyncd.conf" <<EOF
+numeric ids = yes
+uid = 0
+gid = 0
+read only = yes
+
+[etc]
+path = /etc
+comment = System configuration
+
+[home]
+path = /home
+comment = Home directories
+EOF
+
+ echo "backup:x:0:0::$BACKUP_HOME:/bin/sh" >>"$1/etc/passwd"
+ mkdir -p "$1/$BACKUP_HOME/.ssh"
+
+ touch "$1/$BACKUP_HOME/.ssh/authorized_keys"
+ for key in $TROVE_BACKUP_KEYS; do
+ cat "$key" >> "$1/$BACKUP_HOME/.ssh/authorized_keys"
+ done
+fi