summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorD. Johnson <fenris02@fedoraproject.org>2012-12-17 09:04:24 -0600
committerD. Johnson <fenris02@fedoraproject.org>2012-12-17 09:04:24 -0600
commit0e4dff5d4a27b0da5d04f16db6c3295a38079467 (patch)
treea383f65eadb9e14b28d3beae2168bbdab9802204
parentf728f45c8afb3ac698919e1e10ae7b5b9a957541 (diff)
downloadcleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.tar.gz
cleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.tar.xz
cleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.zip
Added reset-perms
-rwxr-xr-xreset-perms.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/reset-perms.sh b/reset-perms.sh
new file mode 100755
index 0000000..e97c00e
--- /dev/null
+++ b/reset-perms.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# Partial script version of http://fedorasolved.org/Members/fenris02/post_upgrade_cleanup
+
+DS=$(/bin/date +%Y%m%d)
+LANG=C
+TMPDIR=$(/bin/mktemp -d ${TMPDIR:-/tmp}/${0##*/}-XXXXX.log)
+[ -d "${TMPDIR}" ] || mkdir -p "${TMPDIR}"
+
+if [ "$(/usr/bin/whoami)" != "root" ]; then
+ echo "Must be run as root."
+ exit 1
+fi
+
+[ -x /usr/sbin/setenforce ] || yum install -y /usr/sbin/setenforce
+/usr/sbin/setenforce 0
+
+[ -n "$VERBOSE" ] && echo 'This may take a few minutes, resetting user/group ownership'
+time rpm -a --setugids > /dev/null 2>&1
+[ -n "$VERBOSE" ] && echo 'This may take a few minutes, resetting permissions'
+time rpm -a --setperms > /dev/null 2>&1
+
+echo 'This may take a few minutes, resetting file capabilities'
+time rpm -Va > ${TMPDIR}/rpm-Va0.txt 2>&1;
+awk '/^.{8}P /{print$NF}' ${TMPDIR}/rpm-Va0.txt \
+ |xargs rpm --filecaps -qf \
+ |grep '= cap' \
+ |while read fileName eq fileCaps; do
+ setcap "${fileCaps}" "${fileName}"
+ done
+
+/usr/sbin/setenforce 1
+
+echo 'You should likely reboot now.'
+
+#EOF