ezmlm-cron(1)ezmlm-cron(1)NAMEezmlm-cron - Sets up digest request messages generation via crond
SYNOPSISezmlm-cron [ -cCdDlL ][ -w dow ][ -t hh:mm ][ -i hrs ] listadr code[f]
DESCRIPTIONezmlm-cron is a very restrictive interface to crond(8). It edits the
effective user's ~/crontab (see crontab(5)) file. It then executes
crontab(1) to update crond(8) with the changes.
ezmlm-cron sets up the generation of trigger messages to the list lis‐
tadr and the digest code code. A optional digest format specifier f
can be added to code.
ezmlm-cron reads dir/ezcronrc, where dir is the home directory of the
effective user. The first line of this file is the host name, 'host',
to which bounces should be sent. Any bounces for lists set up by 'user'
will go to 'user@host'. Subsequent lines are entries for users made up
of: user:local:host:num:[list1[,list2...]]. The ':'-separated parame‐
ters are:
user the user name to which this line corresponds.
local the list address must start with exactly these characters (case
sensitive). If this field is empty, any list local address is
allowed.
host the list host name must exactly match this parameter (case
insensitive). If this field is empty, any list host address is
allowed. (Host names for the list and the digest list must still
match.)
num the user is permitted a maximum of num entries.
list1 [,list2...]
a set of complete list names separated by commas. The user may
edit entries for these lists, even if they do not match the cri‐
teria set above. If these lists exist, they are counted in
determining num. No while space is allowed before or between
list names. If no list names are specified, the final ':' can be
omitted.
The first line matching the executing user will be used.
If ezmlm-cron is installed SUID euser, the configuration and
crontab files from that user's home directory will be used for
all ezmlm-cron actions. This way, users on a system can be given
limited crond(8) access via ezmlm-cron restricted by
dir/ezcronrc and to the generation of digest trigger messages.
This is especially useful for users without shell access or
access to crond(8). euser is usually 'ezmlm'. To install
ezmlm-cron SUID ezmlm:
# chown ezmlm /usr/local/bin/ezmlm/ezmlm-cron
# chmod 4555 /usr/local/bin/ezmlm/ezmlm-cron
ezmlm-cron refuses to run if installed SUID root. ezmlm-cron
when executed by 'root', will still use the files in ~root.
To allow crond(8) access, you may need to list the effective
user (all users allowed access or ~ezmlm if ezmlm-cron is
installed SUID ezmlm) in /etc/cron.allow. See crontab(1) for
further information.
OPTIONS
The -c, -d, and -l switches are mutually exclusive.
-c List user entry from ezcronrc.
-C (Default.) Do not list user entry.
-d Delete entry. ezmlm-cron will search ~euser/crontab for an
entry belonging to the executing user, permitted by
~euser/ezcronrc and matching the command line arguments sup‐
plied. code is ignored and may be omitted.
-D (Default.) Do not delete entry.
-i hrs Generate trigger message with hrs hours interval. Accepted
intervals are 0, 1 ,2, 3, 6, 12, 24, 48, and 72 hours. Other
numbers will be silently adjusted upwards to the nearest
accepted interval (intervals above 72 hours will result in
weekly trigger messages).
-l List entries. If no other command line arguments are given,
ezmlm-cron lists the entries created in the name of the user. If
listadr is given, ezmlm-cron will list the entries for all the
matching lists, even if the entries were not set up by the cur‐
rent user. Arguments, if given, still have to comply with the
rules set in ezcronrc.
Crude crontab(5) lines are listed. These are taken from the
~/crontab file. Usually, these are active entries, although if
the last execution of crontab(1) failed, they may not be.
-L (Default.) Do not list entry.
-t hh:mm
The time for the trigger message. Other trigger messages will be
sent hrs hours before and after this time.
-w dow The days of the week on which trigger messages are sent. day 0
and 7 are Sunday, 1 is Monday, etc (see crontab(5)). The string
specified for dow must consists of single comma-separated digits
in the range '0'-'7' only. The default is every day, except for
hrs of 48 (default Monday, Wednesday, Friday), 72 (default Mon‐
day and Thursday), or greater than 72 (default Monday). Both
hrs and dow can be specified. In this case, trigger messages are
sent on the day specified by dow at the interval specified by
hrs. If hrs is greater than 24 h, it is ignored and trigger
messages are generated daily or as specified by dow.
FILES
~euser/ezcronrc
The configuration file for ezmlm-cron. euser is the effective
user id. This is the executing user, unless ezmlm-cron is
installed SUID otheruser, in which case it is otheruser.
~euser/crontab
The file edited by ezmlm-cron. euser is the effective user.
~euser/crontabl
The lock file used to assure that only one process at a time is
editing the crond(8) settings. euser is the effective user.
BUGSezmlm-cron should use the output of 'crontab -l' to list crontab lines,
rather than parse the crontab file (and assume that the last execution
of crontab(1) was successful).
SEE ALSOcrond(8), crontab(1), crontab(5), ezmlm(5), ezmlm-get(1)ezmlm-cron(1)