Wie wirkt sich der Dateibesitz auf verschiedene Systeme aus?

10

Nach meinem Verständnis von Unix-Dateisystemen muss jede Datei auf einem Unix-System zu einer Gruppe und einem Benutzer dieses Systems gehören. Eine Datei kann nicht zu einer Gruppe oder einem Benutzer gehören, die / der nicht auf dem System vorhanden ist.

Aus dieser Annahme heraus kommen einige Fragen in den Sinn. Was passiert mit den Gruppen- und Benutzerattributen, wenn Medien zwischen Computern übertragen werden, sei es über ein Flash-Laufwerk, eine CD-ROM oder eine Netzwerkfreigabe? Wem gehört die Datei im neuen System?

Können Sie die Daten so einschränken, dass sie nur auf Ihrem System funktionieren? (Hier geht es nicht um Verschlüsselung, sondern nur um Grundlagen.)

Wenn Sie Daten zwischen zwei Computern übertragen, gibt es auch Möglichkeiten, um sicherzustellen, dass die Gruppen- und Benutzerattribute intakt bleiben (was zu root gehört, gehört zu root auf dem neuen System und das gleiche wie beim normalen Benutzer).

Stefan
quelle
Grammatikproblem im ersten Satz
Tshepang
@thsepang .. schöner Fang, behoben
Stefan

Antworten:

6

Auf allen nativen Unix-Dateisystemen wird der Dateieigentum in Form von Benutzer- und Gruppen-IDs gespeichert. Dies gilt auch für den grundlegenden NFS-Betrieb (obwohl es zumindest in NFSv4 andere Möglichkeiten gibt) und für herkömmliche Unix-Archivformate wie tar.

Eine Datei kann tatsächlich zu einem Benutzer oder einer Gruppe gehören, die nicht vorhanden ist. Die Datei gehört zu einer bestimmten ID, es besteht jedoch keine Verpflichtung, dass die ID in einer /etc/passwdanderen Benutzer- oder Gruppendatenbank aufgeführt ist. Wenn Sie beispielsweise Ihre Benutzerdatenbank in NIS oder LDAP speichern und auf den Datenbankserver vorübergehend nicht zugegriffen werden kann, sind die Benutzerdateien weiterhin vorhanden.

Wenn Sie Wechselmedien von einem System auf ein anderes übertragen, sollten Sie entweder sicherstellen, dass Benutzer- und Gruppen-IDs gegebenenfalls übereinstimmen, oder den Besitz ignorieren (z. B. mithilfe eines Nicht-Unix-Dateisystems). Root ist ein Sonderfall, da das definierende Merkmal darin besteht, dass die Benutzer-ID überall 0 ist.

Die einzige Möglichkeit zu steuern, was jemand, der sich im physischen Besitz der Medien befindet, mit den Daten tun wird, besteht darin, ein intrinsisches Schutzmittel zu verwenden, dh eines, das nicht davon abhängt, wie er auf das System zugreift, und etwas für sich zu behalten. Sie können ein mathematisches Schutzmittel verwenden: Kryptografie (Verschlüsselung für Vertraulichkeit, Signieren für Integrität; Sie behalten das Passwort für sich) oder ein physisches Schutzmittel (z. B. eine verschlossene Box).

Gilles 'SO - hör auf böse zu sein'
quelle
3

Jeder Datei und jedem Verzeichnis in den meisten Unix-Dateisystemen sind eine numerische Gruppe und eine Benutzer-ID zugeordnet. Dann gibt es eine Zuordnung (/ etc / passwd für Benutzer und / etc / group für Gruppen) von IDs zu Namen. Wenn Sie eine Datei auf ein anderes System übertragen, bleiben die numerischen IDs gleich. Auf dem neuen System ist möglicherweise kein Name mit dieser ID vorhanden. Wenn Sie also a ls -lausführen, werden anstelle von Benutzernamen Zahlen angezeigt.

Der Root-Benutzer hat immer die Benutzer-ID 0, sodass sie auf jedem System gleich ist. Wenn Sie Dateien häufig verschieben möchten, sollten Sie sicherstellen, dass Benutzer, die zwischen den beiden Systemen gemeinsam sind, auf jedem Benutzer dieselbe Benutzer-ID haben.

KeithB
quelle