#!/bin/bash # _____ _ _ # | __|___ ___ ___ _| |___ _____| |_ ___ ___ ___ # | __| _| -_| -_| . | . | | . | . | | -_| # |__| |_| |___|___|___|___|_|_|_|___|___|_|_|___| # # Freedom in the Cloud # # Changes the passowrd within apps for a given user # # License # ======= # # Copyright (C) 2015-2019 Bob Mottram <bob@freedombone.net> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # 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 Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. PROJECT_NAME='freedombone' export TEXTDOMAIN=${PROJECT_NAME}-chpasswd export TEXTDOMAINDIR="/usr/share/locale" # Start including files source /usr/local/bin/${PROJECT_NAME}-vars UTILS_FILES="/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*" for f in $UTILS_FILES do source "$f" done APP_FILES="/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*" for f in $APP_FILES do source "$f" done # End including files USERNAME="$1" NEW_PASSWORD="$2" if [ ! "$USERNAME" ]; then exit 63 fi if [ ! -d "/home/$USERNAME" ]; then echo $"User $USERNAME not found" exit 54 fi if [ ! "$NEW_PASSWORD" ]; then echo $"No password was given for ${PROJECT_NAME}-chpasswd" exit 56 fi detect_installable_apps app_index=0 # shellcheck disable=SC2068 for app_name in ${APPS_INSTALLED[@]} do if [[ ${APPS_INSTALLED[$app_index]} == "1" ]]; then "change_password_${app_name}" "$USERNAME" "$NEW_PASSWORD" fi app_index=$((app_index+1)) done exit 0