diff options
Diffstat (limited to 'geo-replication/src/peer_add_secret_pub.in')
-rw-r--r-- | geo-replication/src/peer_add_secret_pub.in | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/geo-replication/src/peer_add_secret_pub.in b/geo-replication/src/peer_add_secret_pub.in index aed93991e58..8bfecce9b09 100644 --- a/geo-replication/src/peer_add_secret_pub.in +++ b/geo-replication/src/peer_add_secret_pub.in @@ -1,20 +1,33 @@ #!/bin/bash if [ "$1" == "" ]; then + user="root" home_dir=`getent passwd root | cut -d ':' -f 6`; else + user=$1 home_dir=`getent passwd $1 | cut -d ':' -f 6`; fi -if [ "$home_dir" == "" ]; then +if [ "$user" == "" ]; then echo "Invalid User"; exit 1; fi +if [ "$home_dir" == "" ]; then + echo "Invalid home dir"; + exit 1; +fi + if [ ! -d $home_dir/.ssh ]; then mkdir $home_dir/.ssh; chmod 700 $home_dir/.ssh; - chown root:root $home_dir/.ssh; + chown $user:$user $home_dir/.ssh; +fi + +if [ ! -d $home_dir/.ssh/authorized_keys ]; then + touch $home_dir/.ssh/authorized_keys; + chmod 600 $home_dir/.ssh/authorized_keys; + chown $user:$user $home_dir/.ssh/authorized_keys; fi cat "$GLUSTERD_WORKING_DIR"/geo-replication/common_secret.pem.pub >> $home_dir/.ssh/authorized_keys; |