[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ownership en permissies in een file?



Paul van der Vlis shreef:

> 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.

In plaats van één owner-perm bestand per directory zou je de
benodigde gegevens per bestandssysteem kunnen opslaan, als
data (ipv shell-script):

#!/bin/sh
DUMPFILE=.restore-owner-perm
umask 0377
rm -f -- "$DUMPFILE"
find -xdev -depth -exec sh -c '
for p
do
if [ -L "$p" ]
then stat -cXX\ %u:%g "$p"
else stat -c%a\ %u:%g "$p"
fi
printf %s\\0 "$p"
done' sh {} + |
xz -9 >"$DUMPFILE"

#!/bin/bash
DUMPFILE=.restore-owner-perm
xz -dc "$DUMPFILE" |
while read ar ug
do
IFS= read -rd$'\0' p
chown -h $ug "$p"
[ $ar = XX ] || { chmod a-s "$p";chmod $ar "$p";}
done
rm -f -- "$DUMPFILE"

Nog efficiënter en veiliger: mtree(8)  :-)


Reply to: