Date: 6 Aug 1999 20:13:16 -0000 From: nbm@rucus.ru.ac.za To: FreeBSD-gnats-submit@freebsd.org Subject: bin/13005: make rc use mktemp for temporary motd file Message-ID: <19990806201316.75419.qmail@rucus.ru.ac.za>
next in thread | raw e-mail | index | archive | help
>Number: 13005 >Category: bin >Synopsis: make rc use mktemp for temporary motd file >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Aug 6 13:20:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Neil Blakey-Milner >Release: FreeBSD 3.0-STABLE i386 >Organization: Rhodes University Computer Users' Society >Environment: FreeBSD rucus.ru.ac.za 3.0-STABLE FreeBSD 3.0-STABLE #0: Tue Feb 9 22:52:23 GMT 1999 grahams@rucus.ru.ac.za:/usr/src/sys/compile/RUCUS-SMP i386 >Description: rc currently uses the file /tmp/_motd as a temporary file, and despite attempting to delete it, that operation may fail (chflags) and cause arbitrary non-roots to effectively replace the motd at bootup. >How-To-Repeat: su - arb cd /tmp touch _motd chflags >Fix: --- rc.orig Fri Aug 6 19:15:16 1999 +++ rc Fri Aug 6 22:02:34 1999 @@ -400,13 +400,16 @@ fi if [ "X${update_motd}" != X"NO" ]; then - T=/tmp/_motd - rm -rf $T - uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > $T - awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> $T - cp $T /etc/motd - chmod 644 /etc/motd - rm -rf $T + T=`mktemp -q /tmp/_motd.XXXXXX` + if [ $? -eq 0 ]; then + uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' >> $T + awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> $T + cp $T /etc/motd + chmod 644 /etc/motd + rm -rf $T + else + echo "Could not create temporary file $T for motd update!" + fi fi # Run rc.devfs if present to customify devfs >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990806201316.75419.qmail>