import itertools
options = ['posix', 'samba', 'kerberos', 'mail', 'pki', 'person', 'ldap_pwd']

length = range(1, 1 + len(options))
combinations = tuple(itertools.chain(*(itertools.combinations(options, i) for i in length)))
print length, len(combinations)

print '\n'.join([', '.join(x) for x in sorted(combinations)])
