/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.
(note: does have learning curve on args to choose)
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.
For example: it can make plain /etc/passwd plain text password file (still) or use shadow - (login.c may do both).
...
The project is to optimize both the Linux Workstation and School Server at for student usage. All the applications that were available would be systematically replaced with linux applications. The Network connections to the existing systems remain inta