VOP_SETACL(9)

명칭
VOP_SETACL - vnode 의 액세스 제어 리스트의 설정

서식
<sys/param.h> <sys/vnode.h> <sys/acl.h> int VOP_SETACL(struct vnode *vp, acl_type_t type, struct acl *aclp, struct ucred *cred, struct thread *td)

해설
이 vnode 호출은, 파일 또는 디렉토리의 액세스 제어 리스트 (ACL)를 설정하기 위해서 사용 가능합니다.

인수는 이하와 같습니다.

vp  파일 또는 디렉토리의 vnode.

type
    설정되는 ACL 의 형태.

aclp
    ACL 데이터의 꺼내 원의 ACL 구조체에의 포인터.

cred
    요구의 인증시에 사용되는 유저 증명.

td  ACL 를 설정해 있는 thread.

aclp 포인터는, NULL (을)를 지정 가능하고, 지정한 ACL 가 삭제 되는 것이 당연한 것을 나타냅니다.

cred 포인터는, NULL 를 건네줄 수가 있어 가능하다면 액세스 제어 체크가 실행되지 않는 것을 지시합니다. 이 cred 의 설정은, 액티브 프로세스에 용서되지 않은 ACL 증명을, 커널이 정당화 하는 것을 인정하기 위해서(때문에) 사용 가능합니다. 이 cred 의 설정은, 액티브 프로세스에 용서되지 않은 확장 속성의 변경을 커널이 정당화 하는 것을 인정하기 위해서(때문에) 사용 가능합니다.

vnode ACL 인터페이스는, 파일 또는 디렉토리의 ACL 인터페이스의 시멘틱스는 아니고 문법을 정의합니다. 커널내의 ACL 관리에 대한 상세한 정보는 acl(9) (을)를 참조해 주세요.

락
들어갈 때에 vnode 는 락 되어 귀가시에도 락 계속 되고 있어야 합니다.

반환값
ACL 가 성공리로 설정되었을 경우에는 0 이 돌려주어집니다. 그렇지 않은 경우에는 적절한 에러 코드가 돌려주어집니다.

에러

[EINVAL]
    건네받은 ACL 형은 이 vnode 에는 무효입니다. 또는, ACL 데이터가 무효입니다.

[EACCES]
    호출측이 적절한 특권을 가지고 있지 않습니다.

[ENOMEM]
    요구를 실행하기 위한 충분한 메모리가 이용 가능하지는 않습니다.

[EOPNOTSUPP]
    파일 시스템이 VOP_SETACL() (을)를 서포트하고 있지 않습니다.

[ENOSPC]
    파일 시스템의 area 부족합니다.

[EROFS]
    파일 시스템이 읽어내 전용입니다.

관련 항목
acl(9), vnode(9), VOP_ACLCHECK(9), VOP_GETACL(9)

저자
이 메뉴얼 페이지는 Robert Watson 하지만 썼습니다.