Bug 21395

Summary: Periodic is no longer usable by non-root users
Product: Base System Reporter: mwm
Component: binAssignee: Brian Somers <brian>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description mwm 2000-09-19 09:50:01 UTC
	/usr/sbin/periodic writes it's temporary output files to
	/var/run. Not only does this not match the usage of /var/run
	in hier(9), it means that the periodic program can't be used
	by non-root users!

	Further, the default output is to send email to root. This
	makes it nearly useless for non-root users.

Fix: 

Change the value of tmp_output in /usr/sbin/periodic from
	/var/run/periodic.$$ to /tmp/periodic.$$

	Change the value of three _output variables in
	/etc/defaults/periodic.conf to $USER. I have not tested this
	in /etc/defaults, but it does work in /etc/periodic.conf.
How-To-Repeat: 
	Create a periodic directory for some non-root user (in my
	case, the postgresql superuser was doing daily db maintenance
	with it). Then, as the appropriate user, invoke the periodic
	program on that directory. Note that you get no output with
	the default output setup.

	So change the setting of the _output variables to $USER in
	/etc/periodic.conf. Run periodic again. Notice that it now
	complains about not being able to create
	/var/run/periodic.#### for each file in the directory.
Comment 1 babolo 2000-09-19 13:30:54 UTC
mwm@mired.org writes:
> 
> >Number:         21395
> >Category:       bin
> >Synopsis:       Periodic is no longer usable by non-root users
> >Confidential:   no
> >Severity:       serious
> >Priority:       high
> >Responsible:    freebsd-bugs
> >State:          open
> >Quarter:        
> >Keywords:       
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Tue Sep 19 01:50:01 PDT 2000
> >Closed-Date:
> >Last-Modified:
> >Originator:     Mike Meyer
> >Release:        FreeBSD 5.0-CURRENT i386
> >Organization:
> Meyer Consulting
> >Environment:
> 
> 	-current as of 9/16, with SMPNG. 
> 
> >Description:
> 
> 	/usr/sbin/periodic writes it's temporary output files to
> 	/var/run. Not only does this not match the usage of /var/run
> 	in hier(9), it means that the periodic program can't be used
> 	by non-root users!
> 
> 	Further, the default output is to send email to root. This
> 	makes it nearly useless for non-root users.
> 
> >How-To-Repeat:
> 
> 	Create a periodic directory for some non-root user (in my
> 	case, the postgresql superuser was doing daily db maintenance
> 	with it). Then, as the appropriate user, invoke the periodic
> 	program on that directory. Note that you get no output with
> 	the default output setup.
> 
> 	So change the setting of the _output variables to $USER in
> 	/etc/periodic.conf. Run periodic again. Notice that it now
> 	complains about not being able to create
> 	/var/run/periodic.#### for each file in the directory.
> 
> >Fix:
> 
> 	Change the value of tmp_output in /usr/sbin/periodic from
> 	/var/run/periodic.$$ to /tmp/periodic.$$
$TMPDIR/periodic.$$ if $TMPDIR exists and
/tmp/periodic.$$ as fallback

> 	Change the value of three _output variables in
> 	/etc/defaults/periodic.conf to $USER. I have not tested this
> 	in /etc/defaults, but it does work in /etc/periodic.conf.

-- 
@BABOLO      http://links.ru/
Comment 2 Johan Karlsson freebsd_committer freebsd_triage 2000-09-19 19:16:38 UTC
Responsible Changed
From-To: freebsd-bugs->brian

Brian has done alot of recent commits to periodic.
Comment 3 Brian Somers freebsd_committer freebsd_triage 2000-09-19 23:15:15 UTC
State Changed
From-To: open->closed

Output of periodic(8) now goes to stdout by default.  Temp files are 
stored in ${TMPDIR:-/tmp}