'Identify any anomalous group attributes or memberships.'

def FindAnomalies(self):

    for (grp_name, group) in self.entry.iteritems():
        shadow = self.shadow.get(grp_name)
        gshadows = self.gshadow_members.get(grp_name, [])
        if shadow:
            diff = self.MemberDiff(group.members, 'group', gshadows, 'gshadow')
            if diff:
                msg = ('Group/gshadow    members    differ    in    group:    %s' % grp_name)
                (yield self._Anomaly(msg, diff))
    diff = self.MemberDiff(self.entry, 'group', self.gshadow_members, 'gshadow')
    if diff:
        (yield self._Anomaly('Mismatched    group    and    gshadow    files.', diff))
