35
35
# shellcheck source=SCRIPTDIR/usermod.sh
36
36
. " ${__type:? } /gencode-remote/usermod.sh"
37
37
38
+ aix_chpasswd () {
39
+ test -n " ${2-} " || {
40
+ echo ' Setting empty passwords is not supported on AIX.' >&2
41
+ exit 1
42
+ }
43
+ printf " chpasswd -e -c <<'EOF'\\ n%s:%s\\ nEOF\\ n" \
44
+ " ${1:? } " \
45
+ " ${2:? } "
46
+ }
47
+
38
48
do_create_user () {
39
49
# usage: do_create_user name property[=value]
40
50
@@ -51,26 +61,20 @@ do_create_user() {
51
61
# special handling required
52
62
__do_password=${__do_arg# ' password=' }
53
63
shift
54
-
55
- # TODO: remove when implemented
56
- echo ' Setting the password is not yet supported on AIX.' >&2
57
- exit 1
58
64
;;
59
65
esac
60
66
done
61
67
unset -v __do_arg
62
68
63
69
__do_argv=$( properties_to_usermod_argv " $@ " )
64
70
71
+ # create user account
65
72
printf ' useradd%s %s\n' \
66
73
" ${__do_argv: + ${__do_argv} } " \
67
74
" $( quote_ifneeded " ${__do_user:? } " ) "
68
75
69
- if test -n " ${__do_password-} "
70
- then
71
- # set user password
72
- : # TODO
73
- fi
76
+ # set user password
77
+ ${__do_password+aix_chpasswd " ${__do_user:? } " " ${__do_passwd:? } " }
74
78
75
79
unset -v __do_user __do_password __do_argv
76
80
}
@@ -91,26 +95,20 @@ do_modify_user() {
91
95
# special handling required
92
96
__do_password=${__do_arg# ' password=' }
93
97
shift
94
-
95
- # TODO: remove when implemented
96
- echo ' Setting the password is not yet supported on AIX.' >&2
97
- exit 1
98
98
;;
99
99
esac
100
100
done
101
101
unset -v __do_arg
102
102
103
103
__do_argv=$( properties_to_usermod_argv " $@ " )
104
104
105
+ # modify user account
105
106
printf ' usermod%s %s\n' \
106
107
" ${__do_argv: + ${__do_argv} } " \
107
108
" $( quote_ifneeded " ${__do_user:? } " ) "
108
109
109
- if test -n " ${__do_password-} "
110
- then
111
- # update user password
112
- : # TODO
113
- fi
110
+ # update user password
111
+ ${__do_password+aix_chpasswd " ${__do_user:? } " " ${__do_passwd:? } " }
114
112
115
113
unset -v __do_user __do_password __do_argv
116
114
}
0 commit comments