#!/bin/sh set -e ONEHOME=/var/lib/one ONE_GROUP=cloud ONE_USER=oneadmin ONE_UID=9869 ONE_GID=9869 ONE_COMMENT="OpenNebula administrator account" create_cloudgroup() { if ! getent group $ONE_GROUP > /dev/null 2>&1; then addgroup --system --gid $ONE_GID $ONE_GROUP fi } create_oneuser() { if ! getent passwd $ONE_USER > /dev/null 2>&1; then adduser --system --gecos "$ONE_COMMENT" --uid $ONE_UID --ingroup $ONE_GROUP --home $ONEHOME --shell /bin/ash $ONE_USER else ONEHOME=`getent passwd $ONE_USER | cut -f6 -d:` # Renable user (give him a shell) usermod --shell /bin/ash $ONE_USER fi if ! getent group disk | grep "\b$ONE_USER\b" &>/dev/null; then usermod -a -G disk $ONE_USER fi } create_cloudgroup create_oneuser # Install ~oneadmin/.ssh/config if not present on a fresh install only if [ ! -e "${ONEHOME}/.ssh/config" ] && [ -z "$2" ]; then if [ ! -d "${ONEHOME}/.ssh" ]; then mkdir -p "${ONEHOME}/.ssh" chmod 0700 "${ONEHOME}/.ssh" chown "$ONE_USER:$ONE_GROUP" "${ONEHOME}/.ssh" fi cp /usr/share/one/ssh/config "${ONEHOME}/.ssh/config" chmod 0600 "${ONEHOME}/.ssh/config" chown "$ONE_USER:$ONE_GROUP" "${ONEHOME}/.ssh/config" fi # Set permissions and owner oneadmin:cloud for F in /var/lock/one /var/log/one /var/run/one /usr/lib/one do if [ ! -d "${F}" ]; then mkdir -p "${F}" chmod 0750 "${F}" chown "${ONE_USER}:${ONE_GROUP}" "${F}" fi done exit 0