Hi
I've just developped a script for automatic distribution list management.
The principle is the following: by adding the keyword "Groups:" to the "Notes" field in the user account, the script will take care of modifying the distribution lists accordingly.
For instance, a Notes field can look like:
> Pete works from home
> Groups: developpers@foo.com support@foo.com
The script will make this user a member of the 2 groups and remove him from any other group.
By running the script from cron it is possible to update the groups as often as you want.
To simplify the migration to this system, if the Notes field does not have a "Groups:" label, then nothing changes for that user.
The script is written in Python and needs the package python-ldap to be able to talk with Zimbra's ldap.
It also produces lists of all users and the groups they belong to and all groups and the members they have. For instance:
zmgroup -s ldap://zimbra.whm.com:389 -l cvidal@whm.com toto@whm.com
will list the groups of the users cvidal@whm.com and toto@whm.com.
The command:
zmgroup -s ldap://zimbra.whm.com:389 -l
Will list the same info for all users. The same for groups using the '-g' flag.
If no flags are given, the script will generate a zmprov command list to modify the groups according to what it found in the Notes fields. In this version the commands are generated in the file /tmp/updategroups.zm. If it is OK, the file can be run as the user zimbra with the line:
zmprov
To be able to access the Notes field in LDAP, the user must be a LDAP administrator. Normally this is 'zimbra'. The LDAP root password can be obtained from the file /opt/zimbra/.saveconfig/config.save. The command will look like:
zmgroup -s ldap://zimbra.whm.com:389 -u zimbra -p your_ldap_passwd
Use the '--help' flag to get a full description of the available features.
In a few days, once a few admins gave me their feedback, I will activate the '-x' flag so that the 'zmprov' command is run by this script and a log is sent to the admin. In this way it will be possible to add the command to cron.hourly or cron.daily.
The script can be download from Fichiers WHM.
All your feedback is very welcome.
Carlos
zmgroup.tgz
[SOLVED] Automatic distribution lists management
-
- Advanced member
- Posts: 51
- Joined: Fri Sep 12, 2014 10:02 pm
[SOLVED] Automatic distribution lists management
Very interesting approach-good job!
[SOLVED] Automatic distribution lists management
Thanks ! i realy needed this.
with kind regards, Lars.
with kind regards, Lars.
[SOLVED] Automatic distribution lists management
I noticed that this post is rather old and a few ver. ago. Does it still work? Is there something better? I like the idea and would like to use it.
[SOLVED] Automatic distribution lists management
Have you tried it ? If it does not work against the current releases you could always have a go at fixing it
[SOLVED] Automatic distribution lists management
Nope does not seem to work.
zmgroup -s server -l
works
zmgroup -s server -g
works
but
zmgroup -s server -u zimbra -p passwd
gives no output and writes nothing to the /tmp/updategroups.zm file.
since i dont know python and couldnt guess when looking at the code. I guess I'm SOL.
zmgroup -s server -l
works
zmgroup -s server -g
works
but
zmgroup -s server -u zimbra -p passwd
gives no output and writes nothing to the /tmp/updategroups.zm file.
since i dont know python and couldnt guess when looking at the code. I guess I'm SOL.