diff --git a/stack.sh b/stack.sh index 005d88e7b6..e50cc493cd 100755 --- a/stack.sh +++ b/stack.sh @@ -160,7 +160,6 @@ VERBOSE=$(trueorfalse True $VERBOSE) # sudo privileges and runs as that user. if [[ $EUID -eq 0 ]]; then - STACK_USER=$DEFAULT_STACK_USER ROOTSLEEP=${ROOTSLEEP:-10} echo "You are running this script as root." echo "In $ROOTSLEEP seconds, we will create a user '$STACK_USER' and run as that user" @@ -196,7 +195,6 @@ if [[ $EUID -eq 0 ]]; then fi exit 1 else - STACK_USER=`whoami` # We're not **root**, make sure ``sudo`` is available is_package_installed sudo || die "Sudo is required. Re-run stack.sh as root ONE TIME ONLY to set up sudo." @@ -1291,7 +1289,7 @@ fi CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT") echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv for i in BASE_SQL_CONN ENABLED_SERVICES HOST_IP LOGFILE \ - SERVICE_HOST SERVICE_PROTOCOL TLS_IP; do + SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP; do echo $i=${!i} >>$TOP_DIR/.stackenv done diff --git a/stackrc b/stackrc index cfc4d1fb57..789fc82d76 100644 --- a/stackrc +++ b/stackrc @@ -12,8 +12,12 @@ DATA_DIR=${DEST}/data # Select the default database DATABASE_TYPE=mysql -# Default stack user -DEFAULT_STACK_USER=stack +# Determine stack user +if [[ $EUID -eq 0 ]]; then + STACK_USER=stack +else + STACK_USER=$(whoami) +fi # Specify which services to launch. These generally correspond to # screen tabs. To change the default list, use the ``enable_service`` and diff --git a/tools/build_ramdisk.sh b/tools/build_ramdisk.sh index cfcca51fb5..2c45568531 100755 --- a/tools/build_ramdisk.sh +++ b/tools/build_ramdisk.sh @@ -125,17 +125,17 @@ if [ ! -r $DEV_FILE ]; then # Create a stack user that is a member of the libvirtd group so that stack # is able to interact with libvirt. chroot $MNTDIR groupadd libvirtd - chroot $MNTDIR useradd $DEFAULT_STACK_USER -s /bin/bash -d $DEST -G libvirtd + chroot $MNTDIR useradd $STACK_USER -s /bin/bash -d $DEST -G libvirtd mkdir -p $MNTDIR/$DEST - chroot $MNTDIR chown $DEFAULT_STACK_USER $DEST + chroot $MNTDIR chown $STACK_USER $DEST # A simple password - pass - echo $DEFAULT_STACK_USER:pass | chroot $MNTDIR chpasswd + echo $STACK_USER:pass | chroot $MNTDIR chpasswd echo root:$ROOT_PASSWORD | chroot $MNTDIR chpasswd # And has sudo ability (in the future this should be limited to only what # stack requires) - echo "$DEFAULT_STACK_USER ALL=(ALL) NOPASSWD: ALL" >> $MNTDIR/etc/sudoers + echo "$STACK_USER ALL=(ALL) NOPASSWD: ALL" >> $MNTDIR/etc/sudoers umount $MNTDIR rmdir $MNTDIR @@ -187,7 +187,7 @@ git_clone $OPENSTACKX_REPO $DEST/openstackx $OPENSTACKX_BRANCH # Use this version of devstack rm -rf $MNTDIR/$DEST/devstack cp -pr $CWD $MNTDIR/$DEST/devstack -chroot $MNTDIR chown -R $DEFAULT_STACK_USER $DEST/devstack +chroot $MNTDIR chown -R $STACK_USER $DEST/devstack # Configure host network for DHCP mkdir -p $MNTDIR/etc/network @@ -225,7 +225,7 @@ EOF # Make the run.sh executable chmod 755 $RUN_SH -chroot $MNTDIR chown $DEFAULT_STACK_USER $DEST/run.sh +chroot $MNTDIR chown $STACK_USER $DEST/run.sh umount $MNTDIR rmdir $MNTDIR diff --git a/tools/build_uec.sh b/tools/build_uec.sh index 5748b39020..6c4a26c2e3 100755 --- a/tools/build_uec.sh +++ b/tools/build_uec.sh @@ -207,11 +207,11 @@ ROOTSLEEP=0 `cat $TOP_DIR/localrc` LOCAL_EOF fi -useradd -U -G sudo -s /bin/bash -d /opt/stack -m $DEFAULT_STACK_USER -echo $DEFAULT_STACK_USER:pass | chpasswd +useradd -U -G sudo -s /bin/bash -d /opt/stack -m $STACK_USER +echo $STACK_USER:pass | chpasswd mkdir -p /opt/stack/.ssh echo "$PUB_KEY" > /opt/stack/.ssh/authorized_keys -chown -R $DEFAULT_STACK_USER /opt/stack +chown -R $STACK_USER /opt/stack chmod 700 /opt/stack/.ssh chmod 600 /opt/stack/.ssh/authorized_keys @@ -224,7 +224,7 @@ fi # Run stack.sh cat >> $vm_dir/uec/user-data< $STAGING_DIR/etc/sudoers.d/50_stack_sh ) # Copy over your ssh keys and env if desired @@ -67,7 +67,7 @@ rm -rf $STAGING_DIR/$DEST/devstack cp_it . $STAGING_DIR/$DEST/devstack # Give stack ownership over $DEST so it may do the work needed -chroot $STAGING_DIR chown -R $DEFAULT_STACK_USER $DEST +chroot $STAGING_DIR chown -R $STACK_USER $DEST # Unmount umount $STAGING_DIR diff --git a/tools/xen/build_xva.sh b/tools/xen/build_xva.sh index f3f166fe69..0e874cfe55 100755 --- a/tools/xen/build_xva.sh +++ b/tools/xen/build_xva.sh @@ -65,8 +65,8 @@ cd $TOP_DIR cat <$STAGING_DIR/etc/rc.local # network restart required for getting the right gateway /etc/init.d/networking restart -chown -R $DEFAULT_STACK_USER /opt/stack -su -c "/opt/stack/run.sh > /opt/stack/run.sh.log" $DEFAULT_STACK_USER +chown -R $STACK_USER /opt/stack +su -c "/opt/stack/run.sh > /opt/stack/run.sh.log" $STACK_USER exit 0 EOF