Arbeiten mit Benutzern, Gruppen und Berechtigungen auf NFS-Ebene (Network File System) - Amazon Elastic File System

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Benutzern, Gruppen und Berechtigungen auf NFS-Ebene (Network File System)

Nach dem Erstellen eines Dateisystems verfügt standardmäßig nur der Root-Benutzer (UID 0) über Lese-, Schreib- und Ausführungsberechtigungen. Damit auch andere Benutzer das Dateisystem ändern können, muss Ihnen der Root-Benutzer ausdrücklich Zugriff gewähren. Sie können mithilfe von Zugangspunkten die Erstellung von Verzeichnissen automatisieren, von denen ein Nicht-Root-Benutzer schreiben kann. Weitere Informationen finden Sie unter Arbeiten mit Amazon-EFS-Zugangspunkten.

Amazon-EFS-Dateisystemobjekte haben einen Unix-ähnlichen Modus, der mit ihnen verbunden ist. Dieser Moduswert definiert die Berechtigungen zum Ausführen von Aktionen für dieses Objekt. Benutzer, die mit Unix-Systemen vertraut sind, können leicht verstehen, wie sich diese Berechtigungen verhalten.

Darüber hinaus werden Benutzer und Gruppen auf Unix-Systemen numerischen Bezeichnern zugeordnet, die Amazon EFS zur Darstellung von Dateibesitz verwendet. Bei Amazon EFS werden Dateisystemobjekte (d.h. Dateien, Verzeichnisse usw.) von einem einzigen Eigentümer und einer einzigen Gruppe verwaltet. Amazon EFS verwendet die zugeordneten numerischen IDs, um die Berechtigungen zu prüfen, wenn ein Benutzer versucht, auf ein Dateisystemobjekt zuzugreifen.

Anmerkung

Das NFS-Protokoll unterstützt maximal 16 Gruppen-IDs (GIDs) pro Benutzer und alle weiteren GIDs werden von NFS-Client-Anfragen abgeschnitten. Weitere Informationen finden Sie unter Zugriff auf zulässige Dateien im NFS-Dateisystem verweigert.

Nachfolgend finden Sie Beispiele für Berechtigungen und eine Diskussion über Überlegungen zu NFS-Berechtigungen für Amazon EFS.

Beispiel für Amazon-EFS-Dateisystem-Nutzungsfälle und Berechtigungen

Nachdem Sie ein Amazon-EFS-Dateisystem und Mountinghilfe für das Dateisystem in Ihrer VPC erstellt haben, können Sie das Remote-Dateisystem lokal auf Ihrer Amazon EC2-Instance mounten. Mit dem Befehl mount kann jedes Verzeichnis im Dateisystem gemountet werden. Beim ersten Erstellen des Dateisystems ist jedoch nur ein Stammverzeichnis unter / vorhanden. Der Root-Benutzer und die Root-Gruppe sind Besitzer des gemounteten Verzeichnisses.

Der folgende mount-Befehl hängt das Stammverzeichnis eines Amazon-EFS-Dateisystems, das durch den DNS-Namen des Dateisystems identifiziert wird, in das /efs-mount-point lokale Verzeichnis ein.

sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.efs.aws-region.amazonaws.com:/ efs-mount-point

Im ursprünglichen Berechtigungsmodus gelten folgende Berechtigungen:

  • Berechtigungen read-write-execute für den Root-Besitzer

  • Berechtigungen read-execute für die Root-Gruppe

  • Berechtigungen read-execute für andere Benutzer

Dieses Verzeichnis kann nur vom Root-Benutzer geändert werden. Der Root-Benutzer kann auch anderen Benutzern Schreibberechtigung für dieses Verzeichnis erteilen, beispielsweise:

  • Erstellen beschreibbarer Unterverzeichnisse für die einzelnen Benutzer. step-by-step Anweisungen finden Sie unterAnleitung: Erstellen Sie beschreibbare Unterverzeichnisse für einzelne Benutzer und konfigurieren Sie das automatische erneute Mounting bei Neustarts.

  • Erlauben Sie Benutzern, in das Amazon-EFS-Dateisystem-Root zu schreiben. Ein Benutzer mit Root-Berechtigung kann anderen Benutzern Zugriff auf das Dateisystem erteilen.

    • Um die Eigentümerschaft des Amazon-EFS-Dateisystems auf einen Nicht-Root-Benutzer und eine Nicht-Root-Gruppe zu ändern, gehen Sie wie folgt vor:

      $ sudo chown user:group /EFSroot
    • Verwenden Sie den folgenden Befehl, um die Dateisystemberechtigungen auszuweiten:

      $ sudo chmod 777 /EFSroot

      Dieser Befehl gewährt allen Benutzern read-write-execute Rechte auf allen EC2-Instances, auf denen das Dateisystem gemountet ist.

Benutzer- und Gruppen-ID-Berechtigungen für Dateien und Verzeichnisse innerhalb eines Dateisystems

Dateien und Verzeichnisse in einem Amazon-EFS-Dateisystem unterstützen standardmäßige Lese-, Schreib- und Ausführungsberechtigungen im Unix-Stil, die auf der Benutzer-ID und den Gruppen-IDs basieren. Wenn ein NFS-Client ein EFS-Dateisystem ohne Verwendung eines Zugangspunkts mountet, sind die vom Client bereitgestellte Benutzer-ID und die Gruppen-ID vertrauenswürdig. Sie können EFS-Zugangspunkte verwenden, um Benutzer-ID und Gruppen-IDs zu überschreiben, die vom NFS-Client verwendet werden. Wenn Benutzer versuchen, auf Dateien und Verzeichnisse zuzugreifen, prüft Amazon EFS ihre Benutzer-IDs und Gruppen-IDs, um sicherzustellen, dass jeder Benutzer die Berechtigung zum Zugriff auf die Objekte hat. Amazon EFS verwendet diese IDs auch, um den Eigentümer und Gruppeneigentümer für neue Dateien und Verzeichnisse anzugeben, die der Benutzer erstellt. Amazon EFS untersucht keine Benutzer- oder Gruppennamen, sondern verwendet nur die numerischen Bezeichner.

Anmerkung

Wenn Sie einen Benutzer in einer EC2-Instance erstellen, können Sie ihm eine beliebige numerische User-ID (UID) und Gruppen-ID (GID) zuweisen. Die numerischen Benutzer-IDs sind auf Linux-Systemen in der Datei /etc/passwd festgelegt. Die numerischen Gruppe-IDs sind in der Datei /etc/group enthalten. Diese Dateien definieren die Zuweisungen zwischen Namen und IDs. Außerhalb der EC2-Instance führt Amazon EFS keine Authentifizierung dieser IDs durch, auch nicht für die Root-ID von 0.

Wenn ein Benutzer von zwei verschiedenen EC2-Instances aus auf ein Amazon-EFS-Dateisystem zugreift, zeigt sich ein unterschiedliches Verhalten, je nachdem, ob die UID des Benutzers auf diesen Instances dieselbe oder eine andere ist, wie folgt:

  • Wenn die Benutzer-IDs auf beiden EC2-Instances gleich sind, geht Amazon EFS davon aus, dass es sich um denselben Benutzer handelt, unabhängig davon, welche EC2-Instances verwendet wird. Die Benutzererfahrung beim Zugriff auf das Dateisystem ist dann von beiden EC2-Instances aus gleich.

  • Wenn die Benutzer-IDs auf beiden EC2-Instances nicht identisch sind, betrachtet Amazon EFS die Benutzer als unterschiedliche Benutzer. Beim Zugriff auf das Amazon-EFS-Dateisystem von zwei verschiedenen EC2-Instances aus ist die Benutzererfahrung nicht die gleiche.

  • Wenn zwei verschiedene Benutzer auf verschiedenen EC2-Instances eine ID teilen, betrachtet Amazon EFS sie als denselben Benutzer.

Sie könnten darüber nachdenken, Benutzer-ID-Zuweisung für alle EC2-Instances konsistent zu verwalten. Benutzer können ihre numerische ID mit dem Befehl id überprüfen.

$ id uid=502(joe) gid=502(joe) groups=502(joe)

Ausschalten des ID-Mappers

Zu den NFS-Dienstprogrammen im Betriebssystem gehört auch ein Daemon, ein sogenannter ID-Mapper, der die Zuweisung zwischen Benutzernamen und IDs verwaltet. In Amazon Linux heißt der Daemon rpc.idmapd und in Ubuntu idmapd. Er setzt Benutzer- und Gruppen-IDs in Namen um und umgekehrt. Amazon EFS arbeitet jedoch nur mit numerischen IDs. Wir empfehlen, dass Sie diesen Prozess auf Ihren EC2-Instances ausschalten. Auf Amazon Linux ist der ID-Mapper ist in der Regel deaktiviert. Falls nicht, aktivieren Sie ihn nicht. Um den ID-Mapper zu deaktivieren, verwenden Sie die im Folgenden dargestellten Befehle.

$ service rpcidmapd status $ sudo service rpcidmapd stop

Kein Root-Squashing

Standardmäßig ist Root-Squashing auf EFS-Dateisystemen deaktiviert. Amazon EFS verhält sich wie ein Linux NFS-Server mit no_root_squash. Wenn eine Benutzer- oder Gruppen-ID 0 ist, behandelt Amazon EFS diesen Benutzer als root-Benutzer und umgeht die Berechtigungsprüfungen (und erlaubt den Zugriff und die Änderung aller Dateisystemobjekte). Root-Squashing kann auf einer Client-Verbindung aktiviert werden, wenn die AWS Identity and Access Management (AWS IAM-) Identitäts- oder Ressourcenrichtlinie keinen Zugriff auf die Aktion zulässt. ClientRootAccess Wenn Root-Squashing aktiviert ist, wird der Root-Benutzer auf dem NFS-Server in einen Benutzer mit beschränkten Berechtigungen konvertiert.

Weitere Informationen finden Sie unter Verwendung von IAM zur Steuerung des Dateisystemdatenzugriffs und Exemplarische Vorgehensweise: Root-Squashing mithilfe der IAM-Autorisierung für NFS-Clients aktivieren.

Zwischenspeichern von Berechtigungen

Amazon EFS speichert die Dateiberechtigungen für einen kurzen Zeitraum. Infolgedessen kann es ein kurzes Zeitfenster geben, in dem ein Benutzer, dem vor kurzem der Zugriff entzogen wurde, immer noch auf dieses Objekt zugreifen kann.

Ändern des Besitzes an Dateisystemobjekten

Amazon EFS setzt das POSIX chown_restricted-Attribut durch. Somit kann nur der Root-Benutzer den Besitzer eines Dateisystemobjekts ändern. Der Root-Benutzer oder der Eigentümerbenutzer können die Besitzergruppe eines Dateisystemobjekts ändern. Sofern es sich jedoch nicht um den Root-Benutzer handelt, kann die Gruppe nur in eine Gruppe geändert werden, welcher der Eigentümerbenutzer angehört.

EFS-Zugangspunkte

Ein Zugangspunkt wendet Betriebssystembenutzer, -gruppe und -dateisystempfad auf alle Dateisystemanforderungen an, die mit dem Zugangspunkt durchgeführt werden. Der Betriebssystembenutzer und die Gruppe des Zugriffspunkts überschreiben alle vom NFS-Client bereitgestellten Identitätsinformationen. Der Dateisystempfad wird dem Client als Stammverzeichnis des Zugriffspunkts angezeigt. Durch diesen Ansatz wird sichergestellt, dass jede Anwendung beim Zugriff auf freigegebene dateibasierte Datasets immer die richtige Betriebssystemidentität und das richtige Verzeichnis verwendet. Anwendungen, die den Zugriffspunkt verwenden, können nur auf Daten in einem eigenen Verzeichnis und darunter zugreifen. Weitere Hinweise zu Zugangspunkten finden Sie unter Arbeiten mit Amazon-EFS-Zugangspunkten.