gnupasswd
gnupasswd - gnu change user password
/usr/bin/passwd offers a "safe way" for root to edit /etc/passwd (or shadow). If setuid it allows regular users to change passwd without asking root to do changes for them.
gnupasswd - gnu change user password
gnugpasswd - gnu change group password
gnupasswd(1) has a goal to work with older login.c/linux and some newer too, also "getpwent" (any glibc). or help convert.
gnupassd does pass only: leaves all else alone (compat). small, simpler for single admin / small linux bases...