Okay, so `pw` and `useradd` are fine, but I think this needs to handle the other providers that presently manage shells.