A bunch o' account managment script schanges. I have reworked
mkprojdir, mkacct-cntrl, mkgroup, and group-update into a set of new scripts that are more specific to their intended operation, and strive to do less work. 1. mkacct - Replaces mkacct-cntrl. This script no longer does any group stuff. All it does is create new accounts, or update the password and gecos fields of existing accounts. Usage is the same as it was: "mkacct <userid>", and is typically invoked from the web interface via the approveuser form. 2. mkgroup - Replaces group-update. This script creates new groups, either for the main project when it is approved, or for subgroup creation. This script does not alter the group membership. Usage is typically from the web interface, but mkgroup can be invoked from the command line: "mkgroup [-b | -a] <pid> <gid>" where -b puts it in the background and sends email later, while -a just captures the log and emails. This "audit" feature is going to find its way into more scripts as soon as I figure out a neat and clean perl mechanism to make it easy. 3. setgroups - Replaces group-update. This script modifies the group membership of either specific users, or all the users in a project. It is typically invoked from the web interface when a project leader edits the subgroup membership or when a user is first approved to a project or subgroup. Command line usage is: setgroups [-b | -a] -p <pid> [user ...] setgroups [-b | -a] [user ...]\n The first form is mostly a means to speed things up. The web interfaces knows exactly what users have need to be changed, but a global project update is nice too. 4. mkproj - Replaces mkprojdir. Actually, mkproj still has all that directory code, but it also handles creating the groups and the account for the project leader. Part of my policy to move as much random code out of the web interface and into the PERL backend where it belongs.