다음을 통해 공유


IAclFileAttributeView 인터페이스

정의

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

[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
특성
구현

설명

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

ACL은 파일 시스템 개체에 대한 액세스 권한을 지정하는 데 사용됩니다. ACL은 순서가 지정된 목록 AclEntry access-control-entries으로, 각각 해당 사용자 보안 주체에 대한 액세스 수준 및 a를 지정합니다 UserPrincipal . 이 파일 특성 뷰는 #getAcl() getAclRFC 에 지정된 ACL 모델을 기반으로 ACL을 읽고 쓰는 메서드를 정의합니다#setAcl(List) setAcl. 3530: NFS(네트워크 파일 시스템) 버전 4 프로토콜http://www.ietf.org/rfc/rfc3530.txt. 이 파일 특성 뷰는 NFSv4 ACL 모델을 지원하거나 <>NFSv4 ACL 모델과 파일 시스템에서 사용하는 ACL 모델 간에 잘 정의된</em> 매핑이 있는 파일 시스템 구현을 위한 것입니다. 이러한 매핑의 세부 정보는 구현에 따라 달라지므로 지정되지 않습니다.

또한 이 클래스는 파일 소유자를 FileOwnerAttributeView 가져와서 설정하는 메서드를 정의하도록 확장됩니다.

파일 시스템이 동종이 아닌 집합 FileStore file-systems 에 대한 액세스를 제공하는 경우 일부 파일 시스템만 ACL을 지원할 수 있습니다. 파일 FileStore#supportsFileAttributeView supportsFileAttributeView 시스템에서 ACL을 지원하는지 테스트하는 데 이 메서드를 사용할 수 있습니다.

<h2>상호 운용성</h2>

RFC  3530을 사용하면 POSIX 정의 액세스 권한을 지원하는 플랫폼에서 특수 사용자 ID를 사용할 수 있습니다. 특수 사용자 ID는 "", "OWNER@GROUP@" 및 "EVERYONE@"입니다. 둘 다 AclFileAttributeViewPosixFileAttributeView 지원되는 경우 이러한 특수 사용자 ID는 읽거나 쓰는 ACL AclEntry entries 에 포함될 수 있습니다. 파일 시스템은 UserPrincipalLookupService 메서드를 호출하여 UserPrincipal 이러한 특수 ID를 나타내는 데 사용할 수 있습니다 UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName .

<b>사용 예제:</b> 기존 ACL에 항목을 추가하여 "joe" 액세스 권한을 부여한다고 가정합니다.

// 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> 동적 액세스 </h2>

파일 특성에 대한 동적 액세스가 필요한 경우 이 특성 보기에서 지원하는 특성은 다음과 같습니다<. 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>UserPrincipal</td<>/tr<>/tbody<>/table></blockquote>

메서드는 Files#getAttribute getAttribute ACL #getOwner getOwner 또는 메서드를 호출하는 #getAcl getAcl 것처럼 소유자 특성을 읽는 데 사용할 수 있습니다.

메서드를 Files#setAttribute setAttribute 사용하여 ACL 또는 소유자 특성을 호출하는 #setAcl setAcl#setOwner setOwner 것처럼 업데이트할 수 있습니다.

<h2 /h2> 파일을 <만들 때 ACL 설정>

이 특성 보기를 지원하는 구현은 파일 또는 디렉터리를 만들 때 초기 ACL 설정을 지원할 수도 있습니다. 초기 ACL은 개체 목록인 with 또는 with"acl:acl"FileAttribute#name nameFileAttribute#value value 같은 Files#createFile createFileFiles#createDirectory createDirectoryFileAttribute 메서드에 제공될 수 있습니다.AclEntry

구현에서 NFSv4 정의된 ACL 모델과 다른 ACL 모델을 지원하는 경우 파일을 만들 때 초기 ACL을 설정하려면 ACL을 파일 시스템에서 지원하는 모델로 변환해야 합니다. 파일을 만드는 메서드는 변환의 결과로 안전하지 않은 파일을 만들려는 시도를 거부(throw) IOException IOException해야 합니다.

1.7에 추가되었습니다.

에 대한 java.nio.file.attribute.AclFileAttributeViewJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

속성

Acl

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

Handle

기본 Android 개체의 JNI 값을 가져옵니다.

(다음에서 상속됨 IJavaObject)
JniIdentityHashCode

래핑된 인스턴스의 java.lang.System.identityHashCode() 값을 반환합니다.

(다음에서 상속됨 IJavaPeerable)
JniManagedPeerState

관리되는 피어의 상태입니다.

(다음에서 상속됨 IJavaPeerable)
JniPeerMembers

멤버 액세스 및 호출 지원.

(다음에서 상속됨 IJavaPeerable)
Owner

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

(다음에서 상속됨 IFileOwnerAttributeView)
PeerReference

JniObjectReference 래핑된 Java 개체 인스턴스의 값을 반환합니다.

(다음에서 상속됨 IJavaPeerable)

메서드

Disposed()

인스턴스가 삭제되었을 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
DisposeUnlessReferenced()

이 인스턴스에 대한 미해결 참조가 없으면 호출 Dispose()합니다. 그렇지 않으면 아무 작업도 수행하지 않습니다.

(다음에서 상속됨 IJavaPeerable)
Finalized()

인스턴스가 종료될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
Name()

특성 뷰의 이름을 반환합니다.

SetJniIdentityHashCode(Int32)

에서 반환 JniIdentityHashCode하는 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

(다음에서 상속됨 IJavaPeerable)
SetPeerReference(JniObjectReference)

에서 반환 PeerReference하는 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
UnregisterFromRuntime()

런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 인스턴스의 등록을 취소합니다.

(다음에서 상속됨 IJavaPeerable)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

GetJniTypeName(IJavaPeerable)

파일의 ACL(액세스 제어 목록) 또는 파일 소유자 특성을 읽거나 업데이트할 수 있는 파일 특성 보기입니다.

적용 대상