123 lines
3.3 KiB
Diff
123 lines
3.3 KiB
Diff
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/scripts/fixfiles policycoreutils-1.17.3/scripts/fixfiles
|
|
--- nsapolicycoreutils/scripts/fixfiles 2004-08-10 15:45:13.000000000 -0400
|
|
+++ policycoreutils-1.17.3/scripts/fixfiles 2004-08-26 11:39:22.000000000 -0400
|
|
@@ -36,6 +36,7 @@
|
|
FILESYSTEMSRO=`mount | grep -v "context=" | egrep -v '\((|.*,)bind(,.*|)\)' | awk '/(ext[23]| xfs | reiserfs ).*\(ro/{print $3}';`
|
|
FILESYSTEMS="$FILESYSTEMSRW $FILESYSTEMSRO"
|
|
SELINUXTYPE="targeted"
|
|
+FCFILE=`mktemp /var/tmp/file_contexts.XXXXXXXXXX`
|
|
|
|
if [ -e /etc/selinux/config ]; then
|
|
. /etc/selinux/config
|
|
@@ -55,7 +56,7 @@
|
|
echo "Warning: Skipping the following R/O filesystems:"
|
|
echo "$FILESYSTEMSRO"
|
|
fi
|
|
- ${SETFILES} ${OUTFILES} -n -v ${FC} ${FILESYSTEMSRW} 2>&1 | tee $LOGFILE
|
|
+ ${SETFILES} ${OUTFILES} -n -v ${FCFILE} ${FILESYSTEMSRW} 2>&1 | tee $LOGFILE
|
|
fi
|
|
}
|
|
|
|
@@ -70,7 +71,7 @@
|
|
echo "Warning: Skipping the following R/O filesystems:"
|
|
echo "$FILESYSTEMSRO"
|
|
fi
|
|
- ${SETFILES} ${OUTFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
|
|
+ ${SETFILES} ${OUTFILES} -v ${FCFILE} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
|
|
fi
|
|
}
|
|
|
|
@@ -87,22 +88,22 @@
|
|
echo "Warning: Skipping the following R/O filesystems:"
|
|
echo "$FILESYSTEMSRO"
|
|
fi
|
|
- ${SETFILES} ${OUTFILES} -v ${FC} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
|
|
+ ${SETFILES} ${OUTFILES} -v ${FCFILE} ${FILESYSTEMS} 2>&1 | tee $LOGFILE
|
|
fi
|
|
}
|
|
relabelCheck() {
|
|
-echo -n "
|
|
-Files in the /tmp directory may be labeled incorrectly, this command
|
|
-can remove all files in /tmp. If you choose to remove files from /tmp,
|
|
-a reboot will be required after completion.
|
|
-
|
|
-Do you wish to clean out the /tmp directory [N]? "
|
|
-read answer
|
|
-if [ "$answer" = y -o "$answer" = Y ]; then
|
|
- relabel $1
|
|
-else
|
|
- restoreLabels $1
|
|
-fi
|
|
+ echo -n "
|
|
+ Files in the /tmp directory may be labeled incorrectly, this command
|
|
+ can remove all files in /tmp. If you choose to remove files from /tmp,
|
|
+ a reboot will be required after completion.
|
|
+
|
|
+ Do you wish to clean out the /tmp directory [N]? "
|
|
+ read answer
|
|
+ if [ "$answer" = y -o "$answer" = Y ]; then
|
|
+ relabel $1
|
|
+ else
|
|
+ restoreLabels $1
|
|
+ fi
|
|
|
|
}
|
|
|
|
@@ -110,6 +111,11 @@
|
|
echo $"Usage: $0 {-R rpmpackage[,rpmpackage...] [-l logfile ] [-o outputfile ] |check|restore|[-F] relabel}"
|
|
}
|
|
|
|
+if [ $# = 0 ]; then
|
|
+ usage
|
|
+ exit 1
|
|
+fi
|
|
+
|
|
# See how we were called.
|
|
for i in $@; do
|
|
if [ $rpmFlag = 2 ]; then
|
|
@@ -127,6 +133,7 @@
|
|
logfileFlag=1
|
|
continue
|
|
fi
|
|
+
|
|
case "$i" in
|
|
check)
|
|
checkFlag=1
|
|
@@ -158,15 +165,25 @@
|
|
usage
|
|
exit 1
|
|
fi
|
|
+
|
|
+cp $FC $FCFILE
|
|
+#
|
|
+# Check for removable devices
|
|
+#
|
|
+for i in /proc/ide/hd*/media; do
|
|
+ grep -q cdrom $i && echo $i | awk -F / '{ print "/dev/"$4"\t-b\tsystem_u:object_r:removable_device_t"}' >> $FCFILE || true
|
|
+done
|
|
+
|
|
+if [ $logfileFlag = 0 ]; then
|
|
+ LOGFILE=`mktemp /var/tmp/fixfiles.XXXXXXXXXX` || exit 1
|
|
+fi
|
|
+
|
|
if [ $checkFlag = 1 ]; then
|
|
checkLabels $rpmFiles
|
|
fi
|
|
if [ $restoreFlag = 1 ]; then
|
|
restoreLabels $rpmFiles
|
|
fi
|
|
-if [ $logfileFlag = 0 ]; then
|
|
- LOGFILE=`mktemp /var/tmp/fixfiles.XXXXXXXXXX` || exit 1
|
|
-fi
|
|
if [ $relabelFlag = 1 ]; then
|
|
if [ $fullFlag = 1 ]; then
|
|
relabel $rpmFiles
|
|
@@ -174,6 +191,8 @@
|
|
relabelCheck $rpmFiles
|
|
fi
|
|
fi
|
|
+
|
|
+rm $FCFILE
|
|
exit $?
|
|
|