Re: Ownership en permissies in een file?
Heiko Noordhof schreef:
> Hallo Paul,
>
> In plaats van de boel te her-mounten met extended attributes en ACL's
> mount-opties alleen om setfacl en getfacl te kunnen gebruiken, kun je
> hetzelfde effect krijgen met een gewoon script dat 'gewone' (=niet-ACL)
> owner.group en permissies opslaat in files.
Ik heb gemerkt dat dit eigenlijk geen probleem is, gewoon /etc/fstab
aanpassen en hermounten.
> Onderstaand script schrijft in elke subdirectory een script met de naam
> ".restore-owner-perm.sh". Dit zijn scripts die als ze gedraaid worden de
> owner.group en permissies terugzet van toen de scripts gemaakt zijn van
> alle entries in die directory.
>
> (Let op: ik heb het getest, maar niet grondig)
>
> #!/bin/bash
>
> DUMPFILE=.restore-owner-perm.sh
>
> find -depth -type d | while read DIR; do
> cd "$DIR"
> echo "#!/bin/sh" >"$DUMPFILE"
> ls -A | while read ITEM; do
> stat -c "chown %u.%g \"${ITEM}\"; chmod 0%a \"${ITEM}\""
> "$ITEM" >>"$DUMPFILE"
> done
> cd - >/dev/null
> done
> exit 0
>
> Stel je gaat met "cd" naar /home/paul, draait dit script en maakt een
> kopie of backup, de gemaakte scripts gaan dan mee in de backup.
>
> Na het terugzetten van een backup als de owner,group en permissies
> verdwenen zijn, draai je het volgende script dat alle
> ".restore-owner-perm.sh" scripts in alle subdirectories aanroept (en dan
> eventueel verwijdert), waarmee de owner,group en permissies worden
> teruggezet.
>
> #!/bin/bash
> DUMPFILE=.restore-owner-perm.sh
> find -depth -type d | while read DIR; do
> cd "$DIR"
> [ -f "$DUMPFILE" ] && source "$DUMPFILE"
> rm "$DUMPFILE" # optioneel weghalen dumpfile
> cd - >/dev/null
> done
> exit 0
>
> Vergelijkbaar met de getfacl/setfacl methode, maar dan zonder het ACL
> gedoe.
Interessant, ik heb het getest en het lijkt heel goed te werken!
Netjes ook dat je userid's gebruikt in plaats van namen, dan kan het ook
ergens anders worden teruggezet.
Wat ik een beetje eng vind, is dat .restore-owner-perm.sh steeds wordt
uitgevoerd als executable bij het terugzetten.
En meer tests lijken me wel nodig, want ik wil het gebruiken voor een
heel OS.
Groet,
Paul.
Reply to: