gnupasswd
gnupasswd - gnu change user password
....
For example: it can make plain /etc/passwd plain text password file (still) or use shadow - (login.c may do both).
A goal is to be old linux and no "depends problems" (ie, some required pam selinux audit kerb (+nis remove hacks) "to work as intended". These can contact remote computers during login if misconfigured and are complicated to configure (so that one knows what is allowed or not completely).
gnupasswd has none of these (gnu has NIS, off by default)