Ich habe einen Baum von Dateien mit der richtigen Erlaubnis. Dann habe ich einen (filewise) identischen Baum (mit unterschiedlichen Dateiinhalten hart) mit falschen Berechtigungen.
Wie kann ich das Berechtigungslayout von einem Baum auf einen anderen übertragen?
Ich habe gerade einen neuen und einfachen Weg kennengelernt, um dies zu erreichen:
Dadurch wird eine Liste mit allen Berechtigungen und Eigentümern erstellt.
Gehen Sie dann zu einer Ebene über dem Ziel und stellen Sie die Berechtigungen mit wieder her
Der Grund, warum Sie eine Ebene höher sein müssen, ist, dass alle Pfade in perms.acl relativ sind.
Sollte als root gemacht werden.
quelle
getfacl
undsetfacl
nicht unbedingt auf allen Systemen vorhanden sind..ac
im ersten Befehl und.acl
im zweiten zu haben?Wenn Sie die Quelle und das Ziel haben, können Sie Ihre Berechtigungen mit synchronisieren
rsync -ar --perms source/ dest
Es werden keine Daten übertragen, nur Berechtigungen ...
quelle
-r
und--perms
sind überflüssig, aber diese Synchronisation dauert immer noch, wenn sie das einzige sind, was anders ist (was Sie in der Frage gesagt haben; wenn die Bäume nicht wirklich identisch sind, sollten Sie nicht gesagt haben, dass sie identisch sind).Sie können den Befehl find verwenden , um ein Skript mit den Befehlen zu erstellen, die Sie zum Kopieren der Berechtigungen benötigen. Hier ist ein kurzes Beispiel, mit den verschiedenen printf-Optionen können Sie noch viel mehr tun, z. B. den Eigentümer, die Gruppen-ID usw. abrufen.
quelle
Zwei Wege:
(im letzteren Fall muss / dst existieren)
Edit: sorry, ich habe falsch gelesen. Nicht was du gefragt hast.
quelle
Ich denke, ich würde ein Perl-Skript schreiben, um es zu tun. So etwas wie:
Dann mach so etwas:
Ich habe das auf den Kopf geschrieben und es wurde nicht getestet. Also überprüfe es, bevor du es zügellos laufen lässt. Dadurch werden nur Berechtigungen für vorhandene Verzeichnisse festgelegt. Es werden weder Berechtigungen für Dateien geändert noch fehlende Verzeichnisse erstellt.
quelle
Das habe ich mir ausgedacht:
Es ist nicht vollständig kugelsicher, tut aber, was ich brauche.
quelle