sudo und rsync

Nils Kassube kassube at gmx.net
Mi Dez 29 12:55:07 GMT 2010


Matthias Taube wrote:
> ich versuche ein Script von "root" auf sudo umzustellen und habe da
> noch ein paar Probleme.

Wie umstellen? Das Script mit etlichen sudo vor den Befehlen verzieren 
oder das Script nicht aus einer root-Shell sondern mit sudo vorweg 
aufrufen?

> > rsync -a -H --exclude=TRANS.TBL loopdir/ cd-neu
> 
> bei dieser Zeile hilft ein einfaches Voranstellen von sudo nicht.
> 
> Die ganze Sequenz lautet:
> mount -o loop test.iso loopdir
> mkdir cd-neu
> rsync -a -H --exclude=TRANS.TBL loopdir/ cd-neu
> umount loopdir

Und was genau funktioniert da nicht? Eine Fehlermeldung oder 
Beschreibung könnte hilfreich sein.

> Auch meine Versuche mit fakeroot waren nicht von Erfolg gekrönt.

So wie ich es verstehe, wird fakeroot verwendet um Programmen 
vorzugaukeln, dass sie root-Rechte haben, obwohl das nicht stimmt. Daher 
kann man dann z.b. mit tar ein Archiv schreiben, in dem die 
Zugriffsrechte stimmen, aber eben nur im Archiv. Die Zugriffsrechte des 
echten Dateisystems kann man damit aber nicht aushebeln. Da Du ja aber 
scheinbar ins echte Dateisystem schreiben willst, musst du auch wirklich 
die passenden Zugriffsrechte haben.

> Ebenfalls problematisch scheint cpio:
> > gzip -d < ../initrd.gz | cpio --extract --verbose --make-directories
> > --no-absolute-filenames

Innerhalb des mit sudo aufgerufenen aber damit nicht funktionierenden 
Scripts? Sonst probier mal

gzip -d < ../initrd.gz | sudo cpio --extract --verbose \
--make-directories --no-absolute-filenames


Nils