Micron - A Simple, Small, and Secure Cron Daemon
I know there are quite a few open-source cron's out there now, but looking
at all of them I could not find a sane choice between them.
I was not happy with some of the blatant security holes in certain versions
and the feature bloat in others. The goal of Micron has been to create a
Vixie-Cron replacement that is more secure and does not rely on E-mail as
the only way of receiving job output.
As of version 0.0.3, the Cron daemon is quite usable. The only notable missing
feature is the ability to mail job output to a user. A more complete list
of features and differences follows:
Features
- Small code and executable size - Currently the cron daemon executable
is about half the size of Vixie-Cron. One of the goals of
this program is to keep the daemon small as possible, while judiciously
introducing new features. Currently, the stripped executable size for
a typical build of this program is somewhere between 14 and 18 kilobytes
on an x86 machine. For specifics for sizes with different CFLAGS values,
click here .
- A system crontab file for running system maintenance tasks.
- Removal of the stupid useless features that Vixie-Cron added to
the crontab file format.
- Crontab file syntax that is compatible with the original crontab file
syntax.
- Full privilege de-escalation for any executed job; this eliminates
any way of running code as root unless you have write-access to
root's crontab.
- Way of selecting where job output should be saved possible targets are:
syslog, logfile, mail (not implemented in version 0.0.2), /dev/null,
and stdout (only useful if running the cron daemon in debug mode).
Known Issues
- Input and output of jobs is saved if you specify anyway of saving it
except for mailing it.
- Documentation does not yet exist on the crontab file format.
- Need to create manpages for the cron daemon and crontab programs.
All versions of the code are available
here
for download.
News
- [ Wed May 4 2005]
-
Version 0.0.4 is out. This is a bugfix only release. A bug was found
that causes core dumps if user specifies the 'file' output method. A
more complete list of changes follows:
- Bugfixes to the output logging to a file
- Inclusion of (incomplete) man pages
- Improvement of the crontab parsing code - some size
optimizations
You can get the new release here
- [ Fri Apr 15 2005 ]
-
Happy income tax day! Version 0.0.3 is out. This new version includes:
- A working crontab program
- Autoconf/Automake integration
- Improvements to job output logging
- Improved memory management code
- Several important bugfixes
You can get the new release here
- [ Wed Mar 30 2005 ]
-
Yikes! Has it really been two years since I've updated this page?
I'm really somewhat disappointed in myself for letting this slip for as
long as it has... I've had this project on the back-burner for way
too long.
I'm preparing to release version 0.0.3 sometime in the next two weeks.
The new version will include:
- A working crontab program
- Autoconf/Automake integration
- Improvements to job output logging
- A good possibility of getting job output via email working
- Improved memory management code
- Some man pages will be included in the package
- The same executable size
- A fistful of bugfixes
After this release, the focus of development will be on getting mail
working, documentation, size reduction, and fixing TODO items in the code.
After that, I'm going to be working to release a version 1.0 of this code.
- [ Tue Feb 11 2003 ]
-
Updated some of the information on this webpage. A feature list that
gives people some information on why they would want to use Micron is
now presented.
- [ Sun Feb 9 2003 ]
-
Version 0.0.2 is out! This version adds support for job output. Output
logging works for:
- saving output via syslog
- saving output to a file
- sending output to /dev/null
- and (if running crond with a '-d') sending output to /dev/tty
Sending job output via a mail client still doesn't work. This will change
soon.
You can get the source
here
- [ Wed Jan 22 2003 ]
-
After an rather long hiatus, version 0.0.1 is released.
This version fixes a couple of issues with the
last snapshot, but does not add a whole lot of new functionality. It does
however contain much of the infrastructure needed to put job output to
the correct places. You can get the source
here
- [ Tue May 14 2002 ]
- Cron now runs tty-less and uses syslog.
- [ Mon May 13 2002 ]
- A working snapshot is here now. It took me a long time to write a
relatively small amount of code. Anyways, this version supports multiple
user's crontabs, will execute them and is a bit snappier than the last
version.
|