Bevor ich in die Tiefen der Synchronisation von UIDs / GIDs auf meinen verschiedenen Linux-Rechnern eintauche, möchte ich wissen, was der eigentliche Vorteil ist.
Ich weiß, dass dies die Dateisynchronisation relativ einfach hält (da das Eigentum "natürlich" erhalten bleibt). Dies kann jedoch auch anders je nach Übertragungsdienst erreicht werden.
Gibt es noch etwas, das von konsistenten UIDs / GIDs profitieren würde?
linux
synchronization
uid
Alex
quelle
quelle
Antworten:
Technische Schulden
Aus den folgenden Gründen ist es viel einfacher , dieses Problem frühzeitig anzugehen, um eine Anhäufung von technischen Schulden zu vermeiden . Auch wenn Sie sich bereits in dieser Situation befinden, ist es wahrscheinlich besser, sich in naher Zukunft darum zu kümmern, als es weiter aufbauen zu lassen.
vernetzte Dateisysteme
Diese Frage scheint sich auf den engen Bereich der Übertragung von Dateien zwischen Computern mit lokalen Dateisystemen zu konzentrieren, der maschinenspezifische Besitzverhältnisse zulässt.
Überlegungen zum Netzwerk-Dateisystem sind mit Sicherheit der größte Grund, um Ihre UID / GID-Zuordnungen synchron zu halten, da Sie normalerweise das "Erreichte" aus dem Fenster werfen können, das Sie beim Betreten des Bildes erwähnt haben. Sicher, Sie könnten nicht vernetzte Dateisysteme haben zwischen diesen Hosts gemeinsam jetzt ... aber was ist die Zukunft? Können Sie ehrlich sagen, dass es niemals einen Anwendungsfall für ein vernetztes Dateisystem geben wird, das zwischen Ihren aktuellen oder zukünftig erstellten Hosts eingeführt wird? Es ist nicht sehr vorausschauend, etwas anderes anzunehmen.
Es sei angenommen , dass
/home
ein Netzwerk - Dateisystem ist geteilt zwischenhost1
undhost2
in den folgenden Beispielen./home/user1
Jeder Benutzer auf jedem System ist im Besitz eines anderen Benutzers. Dies verhindert, dass ein Benutzer systemübergreifend auf sein Basisverzeichnis zugreifen oder dieses ändern kann.host2
unterbricht die Berechtigungen fürhost1
. Manchmal müssen mehrere dieser Tickets bearbeitet werden, bevor jemand zurücktritt und feststellt, dass ein Tauziehen im Spiel ist. Die einzige Lösung besteht darin, die nicht übereinstimmenden ID-Zuordnungen zu beheben. Was dazu führt...user1
hat die ID vonuser2
, hat aberuser2
die ID vonuser17
... und das ist nur das erste System im Cluster.) Je länger Sie auf die Behebung des Problems warten, desto komplexer können diese Ketten werden, die häufig Ausfallzeiten von Anwendungen auf mehreren Servern erfordern um die Dinge richtig in Einklang zu bringen.user2
aufhost2
die gleiche UID alsuser1
aufhost1
, so dass sie zu schreiben ,/home/user1
aufhost2
ohne das Wissenuser1
. Diese Änderungen werden dannhost1
mit den Berechtigungen von ausgewertetuser1
. Was könnte möglicherweise falsch laufen? (Wennuser1
es sich um einen App-Benutzer handelt, erkennt jemand in dev , dass er beschreibbar ist, und nimmt Änderungen vor. Dies ist eine bewährte Tatsache.)Es gibt andere Szenarien, und dies sind nur Beispiele für die häufigsten.
Namen sind nicht immer eine Option
Alle Skripts oder Konfigurationsdateien, die mit numerischen IDs geschrieben wurden, sind in Ihrer Umgebung von Natur aus nicht mehr portierbar. Im Allgemeinen kein Problem, da die meisten Leute diese nicht fest codieren, es sei denn, sie müssen dies unbedingt tun ... aber manchmal gibt Ihnen das Tool, mit dem Sie arbeiten, in dieser Angelegenheit keine Wahl. In diesen Szenarien müssen Sie n verschiedene Versionen des Skripts oder der Konfigurationsdatei verwalten.
Beispiel:
pam_succeed_if
ermöglicht es Ihnen , Felder zu verwendenuser
,uid
undgid
... eine „Gruppe“ Option ist auffällig abwesend. Wenn Sie in die Lage versetzt würden, dass mehrere Systeme eine Form der gruppenbasierten Zugriffsbeschränkung implementieren, hätten Sie n verschiedene Variationen der PAM-Konfigurationen. (oder mindestens eine einzelne GID, bei der Sie Kollisionen vermeiden müssen)zentrale Verwaltung
Die Antwort von natxo hat dies ziemlich gut abgedeckt.
quelle
Sobald Sie eine bestimmte Größe erreicht haben (und dies ist immer früher als Sie denken), werden Sie feststellen, dass das Ändern Ihrer Kennwörter oder das Deaktivieren von Konten für jemanden auf allen Hosts eine PITA ist. Aus diesem Grund verwenden Benutzer Systeme mit LDAP-Datenbanken (oder NIS, aber tun dies nicht, was heutzutage nicht sicher ist) wie openldap oder heutzutage das exzellente Freeipa.
Sie verwalten alle Konten- / Gruppeninformationen in einer zentralen Datenbank. Alle Hosts teilen diese Informationen. Sie können von dort aus noch vieles mehr tun: Verwenden Sie die Benutzerinformationen natürlich für Dateiberechtigungen, erstellen Sie aber auch virtuelle Benutzer für alle Anwendungen, die über LDAP-Bindungen verfügen, anstatt Ihre Benutzer dort zu erstellen (viele Webanwendungen können dies verwenden) ldap für ihre benutzerdatenbank), pflegen eine zentrale sudo rules datenbank, verteilen ihre autofs umgebung, behalten ihre dns zonen, ...
quelle