Subject: CVS commit: basesrc/etc
To: None <source-changes@netbsd.org>
From: Perry E. Metzger <perry@netbsd.org>
List: source-changes
Date: 10/23/2001 21:39:04
Module Name:	basesrc
Committed By:	perry
Date:		Tue Oct 23 18:39:03 UTC 2001

Modified Files:
	basesrc/etc: daily

Log Message:
Fix a mysterious
	csh: Permission denied
	csh: Trying to start from "/var/log"
message.

This was caused by the
	su -m uucp -c "uustat -a"
line being executed in a directory not readable by uucp. The login
shell implied by -m is of course root's shell, /bin/csh, which doesn't
like not being able to read the dir it is in, and thus the errors. By
temporarily cd'ing to /tmp the problem is fixed.

What is really needed, of course, is a way to tell su what shell you
want to use explicitly, especially for use in scripts where the
vagaries of which shell the login executing the script uses should not
be depended on. No such method exists. One should be added.

Indeed, it might also be nice to have a way of telling su to directly
execute a command with -c rather than using a shell to interpret the
command.

I cannot find any standards documents that specify su at the moment,
though. SuSv2 is silent on su(8).


To generate a diff of this commit:
cvs rdiff -r1.40 -r1.41 basesrc/etc/daily

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.