aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2024-05-06 16:18:47 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2024-05-09 14:31:21 +0000
commit01872b366578d071e9fb981a2fda216379915ce3 (patch)
tree2064145b946f34bf050c79cc2e81c50a35f9d882
parent1691bcc8b02c0d32dfde359f8a614a55bc98d6da (diff)
downloadsrc-01872b366578d071e9fb981a2fda216379915ce3.tar.gz
src-01872b366578d071e9fb981a2fda216379915ce3.zip
adduser: Fix confusion between `uclass` and `_class`.
This caused adduser to produce an invalid `pw(8)` command line. Due to bugs in `pw(8)`, the command line was silently accepted and led to the user being created, but locked out and with no home directory. Also fix the default value for the “Another user?” prompt. Fixes: 170d0882903e MFC after: 3 days Reviewed by: karels, allanjude Differential Revision: https://reviews.freebsd.org/D45098 (cherry picked from commit 46c4e86ebf1819fc09084c8aa79423d96fcaad4a) (cherry picked from commit e121845426c8d587491370432de0657099a22843) Approved by: re (cperciva)
-rw-r--r--usr.sbin/adduser/adduser.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/adduser/adduser.sh b/usr.sbin/adduser/adduser.sh
index e9027b6b7876..61a4b3b5058f 100644
--- a/usr.sbin/adduser/adduser.sh
+++ b/usr.sbin/adduser/adduser.sh
@@ -194,7 +194,7 @@ save_config() {
#
add_user() {
local _uid _name _comment _gecos _home _group _grouplist _shell _class
- local _dotdir _expire _pwexpire _passwd _upasswd _passwdmethod
+ local _dotdir _expire _pwexpire _passwd _upasswd _passwdmethod _pwcmd
# Is this a configuration run? If so, don't modify user database.
#
@@ -519,7 +519,7 @@ get_uid() {
# Reads login class of account. Can be used in interactive or batch mode.
#
get_class() {
- local _input _uclass
+ local _input _class
uclass="$defaultclass"
_class=${uclass:-"default"}
@@ -740,7 +740,6 @@ input_interactive() {
local _logingroup_ok="no"
local _groups_ok="no"
local _all_ok="yes"
- local _another_user="no"
case $passwdtype in
none)
_emptypass="yes"
@@ -1129,6 +1128,7 @@ if [ -n "$fflag" ]; then
else
input_interactive
while : ; do
+ _another_user="no"
if [ -z "$configflag" ]; then
echo -n "Add another user? (yes/no) [$_another_user]: "
else