Freigeben über


IAclFileAttributeView Schnittstelle

Definition

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

[Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)]
public interface IAclFileAttributeView : IDisposable, Java.Interop.IJavaPeerable, Java.Nio.FileNio.Attributes.IFileOwnerAttributeView
[<Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)>]
type IAclFileAttributeView = interface
    interface IFileOwnerAttributeView
    interface IFileAttributeView
    interface IAttributeView
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Attribute
Implementiert

Hinweise

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

ACLs werden verwendet, um Zugriffsrechte für Dateisystemobjekte anzugeben. Eine ACL ist eine sortierte Liste von AclEntry access-control-entries, die jeweils eine UserPrincipal und die Zugriffsebene für diesen Benutzerprinzipal angibt. Diese Datei-Attributansicht definiert die #getAcl() getAclAcLs und #setAcl(List) setAcl Methoden zum Lesen und Schreiben von ACLs basierend auf dem in RFC  angegebenen ACL-Modell; 3530: Network File System (NFS) Version 4 Protocolhttp://www.ietf.org/rfc/rfc3530.txt. Diese Dateiattributeansicht ist für Dateisystemimplementierungen vorgesehen, die das NFSv4-ACL-Modell unterstützen oder eine <em-klar>definierte</em-Zuordnung> zwischen dem NFSv4-ACL-Modell und dem vom Dateisystem verwendeten ACL-Modell aufweisen. Die Details dieser Zuordnung sind von der Implementierung abhängig und daher nicht angegeben.

Diese Klasse wird auch erweitert FileOwnerAttributeView , um Methoden zum Abrufen und Festlegen des Dateibesitzers zu definieren.

Wenn ein Dateisystem Zugriff auf eine Gruppe von Daten bietet, die FileStore file-systems nicht homogen sind, unterstützen nur einige der Dateisysteme ACLs. Die FileStore#supportsFileAttributeView supportsFileAttributeView Methode kann verwendet werden, um zu testen, ob ein Dateisystem ACLs unterstützt.

<h2>Interoperabilität</h2>

RFC  3530 ermöglicht die Verwendung spezieller Benutzeridentitäten auf Plattformen, die die von POSIX definierten Zugriffsberechtigungen unterstützen. Die speziellen Benutzeridentitäten sind "OWNER@", "GROUP@" und "EVERYONE@". Wenn sowohl die als auch die AclFileAttributeView unterstützten PosixFileAttributeView werden, können diese speziellen Benutzeridentitäten in ACL AclEntry entries enthalten sein, die gelesen oder geschrieben werden. Die Dateisysteme UserPrincipalLookupService können verwendet werden, um eine UserPrincipal , um diese speziellen Identitäten darzustellen, indem sie die UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName Methode aufrufen.

<b>Verwendungsbeispiel:</b> Angenommen, wir möchten einer vorhandenen ACL einen Eintrag hinzufügen, um "joe" Zugriff zu gewähren:

// lookup "joe"
                UserPrincipal joe = file.getFileSystem().getUserPrincipalLookupService()
                    .lookupPrincipalByName("joe");

                // get view
                AclFileAttributeView view = Files.getFileAttributeView(file, AclFileAttributeView.class);

                // create ACE to give "joe" read access
                AclEntry entry = AclEntry.newBuilder()
                    .setType(AclEntryType.ALLOW)
                    .setPrincipal(joe)
                    .setPermissions(AclEntryPermission.READ_DATA, AclEntryPermission.READ_ATTRIBUTES)
                    .build();

                // read ACL, insert ACE, re-write ACL
                List&lt;AclEntry&gt; acl = view.getAcl();
                acl.add(0, entry);   // insert before any DENY entries
                view.setAcl(acl);

<h2> Dynamischer Zugriff </h2>

Wenn der dynamische Zugriff auf Dateiattribute erforderlich ist, sind die von dieser Attributansicht unterstützten Attribute wie folgt: <blockquote><table class="striped"caption style="><display:none">Supported attributes</caption<>thead><tr><th scope="col"> Name </th><th scope="col"> Type </th></tr<>/thead<>tbody<>tr><th scope="row"> "acl" </th><Td>List<> </Td></tr tr>><<th scope="row" "owner" <> /th<>td/td>><<UserPrincipal/tr<>/tbody<>/table></blockquote>

Die Files#getAttribute getAttribute Methode kann verwendet werden, um die ACL- oder Besitzerattribute zu lesen, als ob sie die #getAcl getAcl Methoden aufrufen #getOwner getOwner .

Die Files#setAttribute setAttribute Methode kann verwendet werden, um die ACL- oder Besitzerattribute zu aktualisieren, als ob sie die #setAcl setAcl Methoden aufrufen #setOwner setOwner .

<h2> Festlegen der ACL beim Erstellen einer Datei </h2>

Implementierungen, die diese Attributansicht unterstützen, können auch das Festlegen der anfänglichen ACL beim Erstellen einer Datei oder eines Verzeichnisses unterstützen. Die anfängliche ACL kann Methoden wie Files#createFile createFile z. B. ein FileAttribute With FileAttribute#name name"acl:acl" und Files#createDirectory createDirectory eine FileAttribute#value value Liste von AclEntry Objekten zur Verfügung gestellt werden.

Wenn eine Implementierung ein ACL-Modell unterstützt, das sich vom nfSv4-definierten ACL-Modell unterscheidet, muss beim Erstellen der Datei die ACL in das vom Dateisystem unterstützte Modell übersetzt werden. Methoden, die eine Datei erstellen, sollten alle Versuche zum Erstellen einer Datei ablehnen (durch Auslösen IOException IOException), die aufgrund der Übersetzung weniger sicher wäre.

In 1.7 hinzugefügt.

Java-Dokumentation für java.nio.file.attribute.AclFileAttributeView.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Acl

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
Owner

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

(Geerbt von IFileOwnerAttributeView)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java-Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
Name()

Gibt den Namen der Attributansicht zurück.

SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

GetJniTypeName(IJavaPeerable)

Eine Datei-Attributansicht, die das Lesen oder Aktualisieren der Zugriffssteuerungslisten (Access Control Lists, ACL) oder Dateibesitzerattribute einer Datei unterstützt.

Gilt für: