opscode/chef — pull request #289 by dcrosta (2012-05-11 14:35:15+00:00)
Title: Implement a group provider using group & user commands for NetBSD

The only questionable thing here is the manage_group method, which has
to rename the old group, create a new group, set members on the new
group, then delete the old group. To my mind this is preferable to
editing /etc/group directly, though that is the "preferred" way (for
humans, at least).

I believe that doing this (rather than deleteing/readding) will avoid
issues with file permissions during the time that the provider is
executing; however, commands that manipulate permissions symbolically
may fail during this time (as a group with the correct name may not
exist, and users may not be present in that group). The amount of time
during which these problems exist is negligible.

This fixes http://tickets.opscode.com/browse/CHEF-3101