]> granicus.if.org Git - sysstat/commitdiff
Fix wrong permissions for data file created by sa1 script
authorSebastien GODARD <sysstat@orange.fr.fake>
Tue, 27 Aug 2013 19:28:33 +0000 (21:28 +0200)
committerSebastien GODARD <sysstat@orange.fr.fake>
Tue, 27 Aug 2013 19:28:33 +0000 (21:28 +0200)
If HISTORY is greater than 28, the sa1 script does not execute the
command "umask 0022" until after the new output file is created,
allowing it to have the wrong permissions if the root umask is not set
to 0022. So move the umask command above that "if" statement.

Reported-by: Peter Schiffer <pschiffe@redhat.com.fake>
Signed-off-by: Sebastien GODARD <sysstat@orange.fr.fake>
sa1.in

diff --git a/sa1.in b/sa1.in
index 39219f46ca1ef98e89ec3a03bec57312a6d537e3..6c819a7eb859338acc03ef39e7b738a9f4fdc333 100644 (file)
--- a/sa1.in
+++ b/sa1.in
@@ -15,6 +15,7 @@ DATE=`date +%d`
 CURRENTFILE=sa${DATE}
 CURRENTDIR=`date +%Y%m`
 SYSCONFIG_DIR=@SYSCONFIG_DIR@
+umask 0022
 
 [ -r ${SYSCONFIG_DIR}/sysstat ] && . ${SYSCONFIG_DIR}/sysstat
 if [ ${HISTORY} -gt 28 ]
@@ -38,7 +39,7 @@ else
        # month then delete it so that it is recreated by sadc afresh
        [ -f ${CURRENTFILE} ] && [ "`date +%Y%m -r ${CURRENTFILE}`" -lt "${CURRENTDIR}" ] && rm -f ${CURRENTFILE}
 fi
-umask 0022
+
 ENDIR=@SA_LIB_DIR@
 cd ${ENDIR}
 [ "$1" = "--boot" ] && shift && BOOT=y || BOOT=n