password revision 260678
1#!/bin/sh 2#- 3# Copyright (c) 2012-2013 Devin Teske 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions 8# are met: 9# 1. Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 2. Redistributions in binary form must reproduce the above copyright 12# notice, this list of conditions and the following disclaimer in the 13# documentation and/or other materials provided with the distribution. 14# 15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25# SUCH DAMAGE. 26# 27# $FreeBSD: stable/10/usr.sbin/bsdconfig/password/password 260678 2014-01-15 07:49:17Z dteske $ 28# 29############################################################ INCLUDES 30 31BSDCFG_SHARE="/usr/share/bsdconfig" 32. $BSDCFG_SHARE/common.subr || exit 1 33f_dprintf "%s: loading includes..." "$0" 34f_include $BSDCFG_SHARE/dialog.subr 35f_include $BSDCFG_SHARE/mustberoot.subr 36f_include $BSDCFG_SHARE/password/password.subr 37 38BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="040.password" 39 40f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && 41 pgm="${ipgm:-$pgm}" 42 43############################################################ CONFIGURATION 44 45# 46# Default login of system manager 47# 48USER_ROOT=root 49 50############################################################ MAIN 51 52# Incorporate rc-file if it exists 53[ -f "$HOME/.bsdconfigrc" ] && f_include "$HOME/.bsdconfigrc" 54 55# 56# Process command-line arguments 57# 58while getopts h$GETOPTS_STDARGS flag; do 59 case "$flag" in 60 h|\?) f_usage $BSDCFG_LIBE/$APP_DIR/USAGE "PROGRAM_NAME" "$pgm" ;; 61 esac 62done 63shift $(( $OPTIND - 1 )) 64 65# 66# Initialize 67# 68f_dialog_title "$msg_root_password" 69f_dialog_backtitle "${ipgm:+bsdconfig }$pgm" 70f_mustberoot_init 71 72# 73# Prompt the user to input a new password (and change it if they don't cancel) 74# 75if f_dialog_input_password; then 76 echo "$pw_password" | f_eval_catch "$0" pw \ 77 'pw usermod "%s" -h 0' "$USER_ROOT" || f_die 78 f_show_msg "$msg_password_changed" 79fi 80 81return $SUCCESS 82 83################################################################################ 84# END 85################################################################################ 86