From 9088c091c01ab94b1e5d32c7e02dd3f7f4a63638 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Tue, 11 Aug 2009 20:04:59 +0000 Subject: [PATCH 1/1] - initial Changed files: cron.logrotate -> 1.1 cron.sysconfig -> 1.1 cronie.crontab -> 1.1 cronie.init -> 1.1 cronie.pam -> 1.1 cronie.spec -> 1.1 --- cron.logrotate | 6 ++ cron.sysconfig | 4 ++ cronie.crontab | 10 +++ cronie.init | 76 +++++++++++++++++++++ cronie.pam | 6 ++ cronie.spec | 174 +++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 276 insertions(+) create mode 100644 cron.logrotate create mode 100644 cron.sysconfig create mode 100644 cronie.crontab create mode 100644 cronie.init create mode 100644 cronie.pam create mode 100644 cronie.spec diff --git a/cron.logrotate b/cron.logrotate new file mode 100644 index 0000000..3b0cab3 --- /dev/null +++ b/cron.logrotate @@ -0,0 +1,6 @@ +/var/log/cron { + create 660 root crontab + postrotate + /bin/killall -HUP crond + endscript +} diff --git a/cron.sysconfig b/cron.sysconfig new file mode 100644 index 0000000..7c4eeae --- /dev/null +++ b/cron.sysconfig @@ -0,0 +1,4 @@ +# Customized settings for cron + +# Define nice level for cron +SERVICE_RUN_NICE_LEVEL="+0" diff --git a/cronie.crontab b/cronie.crontab new file mode 100644 index 0000000..61d9293 --- /dev/null +++ b/cronie.crontab @@ -0,0 +1,10 @@ +SHELL=/bin/sh +PATH=/sbin:/bin:/usr/sbin:/usr/bin +MAILTO=root +NICE=15 + +# run-parts +01 * * * * root /bin/run-parts /etc/cron.hourly +02 5 * * * root /bin/run-parts /etc/cron.daily +02 2 * * 0 root /bin/run-parts /etc/cron.weekly +02 4 1 * * root /bin/run-parts /etc/cron.monthly diff --git a/cronie.init b/cronie.init new file mode 100644 index 0000000..5776ca5 --- /dev/null +++ b/cronie.init @@ -0,0 +1,76 @@ +#!/bin/sh +# +# crond Start/Stop the cron clock daemon. +# +# chkconfig: 2345 40 60 +# description: cron is a standard UNIX program that runs user-specified \ +# programs at periodic scheduled times. cronie adds a \ +# number of features to the basic UNIX cron, including better \ +# security and more powerful configuration options. +# +# processname: crond +# config: /etc/crontab +# pidfile: /var/run/crond.pid + + +# Source function library. +. /etc/rc.d/init.d/functions + +# Get service config +[ -f /etc/sysconfig/cron ] && . /etc/sysconfig/cron + +start() { + # Check if the service is already running? + if [ ! -f /var/lock/subsys/crond ]; then + msg_starting "cronie" + daemon /usr/sbin/crond + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/crond + else + msg_already_running "cronie" + fi +} + +stop() { + if [ -f /var/lock/subsys/crond ]; then + msg_stopping "cronie" + killproc crond + rm -f /var/lock/subsys/crond + else + msg_not_running "cronie" + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status crond + exit $? + ;; + restart) + stop + start + ;; + reload|force-reload) + if [ -f /var/lock/subsys/crond ]; then + msg_reloading "cronie" + killproc crond -HUP + RETVAL=$? + else + msg_not_running "cronie" + exit 7 + fi + ;; + *) + msg_usage "$0 {start|stop|restart|reload|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/cronie.pam b/cronie.pam new file mode 100644 index 0000000..e86f7ba --- /dev/null +++ b/cronie.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth required pam_listfile.so item=user sense=deny file=/etc/cron/cron.deny onerr=succeed +auth required pam_listfile.so item=group sense=allow file=/etc/cron/cron.allow onerr=fail +auth include system-auth +account include system-auth +session include system-auth diff --git a/cronie.spec b/cronie.spec new file mode 100644 index 0000000..978ccd9 --- /dev/null +++ b/cronie.spec @@ -0,0 +1,174 @@ +# +# Conditional build: +%bcond_without selinux # without SELinux support +# +Summary: Cron daemon for executing programs at set times +Name: cronie +Version: 1.4.1 +Release: 0.1 +License: MIT and BSD and GPLv2 +Group: Daemons +Source0: https://fedorahosted.org/cronie/attachment/wiki/WikiStart/cronie-1.4.1.tar.gz?format=raw +# Source0-md5: 9c089d2035b9fa8263bc71da3eb31cdd +Source1: %{name}.init +Source2: cron.logrotate +Source3: cron.sysconfig +Source4: %{name}.crontab +Source5: %{name}.pam +URL: https://fedorahosted.org/cronie/ +%{?with_selinux:BuildRequires: libselinux-devel} +BuildRequires: pam-devel +BuildRequires: audit-libs-devel +BuildRequires: rpmbuild(macros) >= 1.268 +Requires(post): fileutils +Requires(post,preun): /sbin/chkconfig +Requires(post,preun): rc-scripts +Requires(postun): /usr/sbin/groupdel +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires: /bin/run-parts +Requires: /sbin/chkconfig +Requires: psmisc >= 20.1 +Requires: rc-scripts +Provides: crondaemon +Provides: crontabs = 1.7 +Provides: group(crontab) +Provides: vixie-cron = 4:4.4 +Obsoletes: vixie-cron <= 4:4.3 +Obsoletes: crondaemon +Obsoletes: crontabs +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +Cronie contains the standard UNIX daemon crond that runs specified programs at +scheduled times and related tools. It is based on the original cron and +has security and configuration enhancements like the ability to use pam and +SELinux. + +%package anacron +Summary: Utility for running regular jobs +Group: Base +Provides: anacron = 2.4 +Obsoletes: anacron <= 2.3 + +%description anacron +Anacron becames part of cronie. Anacron is used only for running regular jobs. +The default settings execute regular jobs by anacron, however this could be +overloaded in settings. + +%prep +%setup -q + +%build +%configure \ + --with-pam \ + --with%{?!with_selinux:out}-selinux \ + --with-audit \ + --with-inotify \ + --enable-anacron + +%{__make} + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \ + $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \ + $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d} + +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +install contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron + +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond +install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron +install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron +install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab +install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond + +for a in fi fr id ja ko pl; do + if test -f $a/man1/crontab.1; then + install -d $RPM_BUILD_ROOT%{_mandir}/$a/man1 + install $a/man1/crontab.1 $RPM_BUILD_ROOT%{_mandir}/$a/man1 + fi + if test -f $a/man5/crontab.5; then + install -d $RPM_BUILD_ROOT%{_mandir}/$a/man5 + install $a/man5/crontab.5 $RPM_BUILD_ROOT%{_mandir}/$a/man5 + fi + if test -f $a/man8/cron.8; then + install -d $RPM_BUILD_ROOT%{_mandir}/$a/man8 + install $a/man8/cron.8 $RPM_BUILD_ROOT%{_mandir}/$a/man8 + fi +done + +touch $RPM_BUILD_ROOT/var/log/cron + +cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF' +# cron.allow This file describes the names of the users which are +# allowed to use the local cron daemon +root +EOF + +cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF' +# cron.deny This file describes the names of the users which are +# NOT allowed to use the local cron daemon +EOF + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +%groupadd -g 117 -r -f crontab + +%post +/sbin/chkconfig --add crond +umask 027 +touch /var/log/cron +chgrp crontab /var/log/cron +chmod 660 /var/log/cron +%service crond restart "Cron Daemon" + +%preun +if [ "$1" = "0" ]; then + %service crond stop + /sbin/chkconfig --del crond +fi + +%postun +if [ "$1" = "0" ]; then + %groupremove crontab +fi + +%triggerpostun -- hc-cron +# reinstall crond init.d links, which could be different +/sbin/chkconfig --del crond +/sbin/chkconfig --add crond + +%files +%defattr(644,root,root,755) +%doc AUTHORS ChangeLog README +%attr(750,root,crontab) %dir %{_sysconfdir}/cron* +%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab +%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow +%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron +%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond +%attr(754,root,root) /etc/rc.d/init.d/crond +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron +%attr(755,root,root) %{_sbindir}/crond +%attr(2755,root,crontab) %{_bindir}/crontab + +%{_mandir}/man8/crond.8* +%{_mandir}/man8/cron.8* +%{_mandir}/man5/crontab.5* +%{_mandir}/man1/crontab.1* + +%attr(1730,root,crontab) /var/spool/cron +%attr(660,root,crontab) %ghost /var/log/cron + +%files anacron +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/anacron +%attr(0755,root,root) %{_sysconfdir}/cron.hourly/0anacron +%{_mandir}/man5/anacrontab.5* +%{_mandir}/man8/anacron.8* -- 2.43.0