Gibt es einen Befehl, der unterschiedliche Berechtigungen für Zieldateien erzeugt?

7

So wie es sich anhört, versuche ich herauszufinden, ob es einen (Standard-) Befehl gibt, der einen Unterschied der Berechtigungen zwischen zwei Dateien und / oder Verzeichnisbäumen erzeugt.

Im Idealfall wird eine Patch-Datei ausgegeben, mit der die Berechtigungen an das Ziel angepasst werden können. Da Standard-Patch-Dateien jedoch von ed interpretiert werden, muss es sich möglicherweise um ein separates Format handeln.

Catskul
quelle

Antworten:

4

Sie könnten immer so etwas tun, um die Unterschiede zu erkennen.

diff -u <( cd path1 ; find . -printf "chown %U:%G %p; chmod %m %p \n" | sort ) \
        <( cd path2 ; find . -printf "chown %U:%G %p; chmod %m %p \n" | sort )

Es wäre dann trivial, etwas zu hacken, das die erforderlichen Änderungen vornimmt.

Zoredache
quelle
Das Problem wäre dann, dass sich das Patch-Skript auf dem Zielsystem befinden müsste. Es könnte alles in einem einzigen Skript zusammengefasst werden, aber die Leute neigen dazu, sich ein wenig darüber zu ärgern, dass sie aufgefordert werden, eine ausführbare Datei auszuführen.
Catskul
1
Entschuldigung, aber ich weiß nicht, wovon Sie sprechen. Was meinst du mit Zielsystem? Möglicherweise müssen Sie Ihre Frage mit weiteren Details zu Ihren Aktivitäten aktualisieren.
Zoredache
1
Irgendwann muss ein Patch angewendet werden, und oft ist er auf einem anderen System. Wenn benutzerdefinierte Tools verwendet werden, müssen diese an das andere System übergeben werden, um den Besitz-Patch anzuwenden. Offensichtlich keine große Sache; aber weniger optimal als wenn es einen Standardweg gäbe.
Catskul