GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eigentümer und Berechtigungen von Inhalten zweier Ordner vergleichen?

Lösung 1:

Die Lösung ist, wie bei allen Dingen, ein Perl-Skript:

#!/usr/bin/perl

use File::Find;

my $directory1 = '/tmp/temp1';
my $directory2 = '/tmp/temp2';

find(\&hashfiles, $directory1);

sub hashfiles {
  my $file1 = $File::Find::name;
  (my $file2 = $file1) =~ s/^$directory1/$directory2/;

  my $mode1 = (stat($file1))[2] ;
  my $mode2 = (stat($file2))[2] ;

  my $uid1 = (stat($file1))[4] ;
  my $uid2 = (stat($file2))[4] ;

  print "Permissions for $file1 and $file2 are not the same\n" if ( $mode1 != $mode2 );
  print "Ownership for $file1 and $file2 are not the same\n" if ( $uid1 != $uid2 );
}

Weitere Informationen finden Sie unter http://perldoc.perl.org/functions/stat.html und http://perldoc.perl.org/File/Find.html, insbesondere unter stat eine, wenn Sie andere Dateiattribute vergleichen möchten.

Wenn Dateien nicht in Verzeichnis2, aber in Verzeichnis1 existieren, wird auch dort ausgegeben, weil stat wird anders sein.

Lösung 2:

Finden und Statistik:

find . -exec stat --format='%n %A %U %G' {} \; | sort > listing

Führen Sie das in beiden Verzeichnissen aus und vergleichen Sie dann die beiden Auflistungsdateien.

Bewahrt Sie vor den Übeln von Perl...


Linux
  1. So ändern Sie Berechtigungen und Eigentümer über die Befehlszeile

  2. Linux-Berechtigungen:SUID, SGID und Sticky Bit

  3. Linux – Unix-Berechtigungen und Dateitypen verstehen?

  4. Was ist `S_ISREG()` und was macht es?

  5. Standardberechtigungen für Linux-Home-Verzeichnisse

Spickzettel für Linux-Benutzer und -Berechtigungen

SAN vs. NAS:Vergleich zweier Ansätze zur Datenspeicherung

Sparen Sie Platz, indem Sie Dateien und Ordner unter Linux komprimieren

Was ist Content Curation und wie sollten Sie es tun?

So installieren und sichern Sie Memcached unter Ubuntu 18.04

Vergleichen von zwei Dateien im Linux-Terminal