I did a number of things here:
the *add, *mod, and *del utilities, as well as id recieved substantial
changes, probably what you'd call a rewrite. This was of course using
clap-rs. These should all be very stable at this point (except
unimplemented features in usermod, grr)
getty, passwd, and su are simply ported, using clap for arg parsing. I
didn't change any of the logic, just swapped ArgParser for clap.
Fixed a bug with passwd and unset passwords
I'll open issues about the ones I didn't mention.
Here I've implemented the remainder of the core user utilities present
on most unix systems. They aren't particularly pretty, but they do work
for the most part.
Note that for some reason attempting to move the home directory of a
user via usermod -m does not work.
Also removing user's that have been deleted from groups is not yet
implemented, nor is updating /etc/passwd when a group id is changed.
Note that redox_users as used by Cargo.lock as of this commit is broken,
and may not work properly. If redox-os/users#11 is merged, cargo update
should fix.