Zurücksetzen der Zugriffsrechte unter Linux

,

Ab und an kommt es vor, dass Benutzerrechte nicht mehr korrekt passen.

Mögliche Ursachen sind z.B. backups, die von einem anderen User eingespielt wurde, die Rechte versehentlich überschrieben wurden oder der Benutzer geändert wurde.

Dieses Script liest die Rechtevorgaben der Debian-Pakete aus und setzt sie wieder neu.

#!/bin/bash
# Restores file permissions for all files on a debian system for which .deb
# packages exist.
#
# Author: Larry Kagan <me at larrykagan dot com>
# Since 2007-02-20

ARCHIVE_DIR=/var/cache/apt/archives/
PACKAGES=`ls $ARCHIVE_DIR`
cd /

function changePerms()
{
    CHOWN="/bin/chown"
    CHMOD="/bin/chmod"
    PERMS=$1
    OWN=`echo $2 | /usr/bin/tr '/' ':'`
    PATHNAME=$3

    echo -e "$CHOWN $OWN $PATHNAME"
    #`$CHOWN $OWN $PATHNAME`
    #`$CHMOD $MODE $PATHNAME`
        
}

for PACKAGE in $PACKAGES;
do
    echo -e "Getting information for $PACKAGE\n"
    FILES=`/usr/bin/dpkg -c "${ARCHIVE_DIR}${PACKAGE}"`

    for FILE in "$FILES";
    do
        FILE_DETAILS=`echo "$FILE" | awk '{print $1"\t"$2"\t"$6}'`
        changePerms $FILE_DETAILS
    done
done

Weiterführende Informationen zud em Thema und auch einen globalen Ansatz zur Hilfe finden wir unter https://sysadminnotebook.blogspot.com/2012/06/how-to-reset-folder-permissions-to.html

Wie immer bei den Tipps reicht mein Wissen nicht aus, um hier eine Haftung für das Gelingen zu übernehmen.