diff options
author | D. Johnson <fenris02@fedoraproject.org> | 2012-12-17 09:04:24 -0600 |
---|---|---|
committer | D. Johnson <fenris02@fedoraproject.org> | 2012-12-17 09:04:24 -0600 |
commit | 0e4dff5d4a27b0da5d04f16db6c3295a38079467 (patch) | |
tree | a383f65eadb9e14b28d3beae2168bbdab9802204 | |
parent | f728f45c8afb3ac698919e1e10ae7b5b9a957541 (diff) | |
download | cleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.tar.gz cleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.tar.xz cleanup-0e4dff5d4a27b0da5d04f16db6c3295a38079467.zip |
Added reset-perms
-rwxr-xr-x | reset-perms.sh | 36 |
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 |