[ code ]

The dirgroup home page


This is a script for merging the contents of a directory, /etc/group.d, into the file /etc/group. Storing group information in a directory allows users other than root to own and manage Unix groups. This minor change to Unix permission semantics provides many of the advantages of much more complex ACL systems.

Normal Unix permissions are fine for keeping people out of your private files - unfortunately things tend to get more complicated when you want to grant access to only one or two people. The only way to do this in traditional Unix is to have the system administrator create a group for you and your friends, and then assign group ownership of the file to that group.

This isn't very efficient, since few system administrators will want to be bothered with creating little custom groups for everyone. In practise nobody bothers, and groups aren't really used very much.

This script allows system administrators to safely give normal users permission to create and modify their own groups, thus making the whole group concept much more useful and usable.

Try it! :-)


All open source programs need user communities, so I've created a mailing list for dirgroup. If you have suggestions, bug reports or other contributions, please send mail to dirgroup@molar.is.

Click here for archives and a subscription form.

Things to do:

The following additions to would be quite useful. I might write them some day, or you could write them and send me a copy:

  • A better installation sequence, which allows each user to own his own group on systems like RedHat where there is a group for each user.
  • A user-friendly tool for adding groups.
  • A user-friendly tool for setting group passwords.
  • A user-friendly tool for adding users to groups.
  • A method for deleting groups.
  • A method for limiting how many groups each user can create (quotas).