이전 버전의 Solaris는 주로 POSIX 드래프트 ACL 사양에 기반한 ACL 구현을 지원했습니다. POSIX 드래프트 기반 ACL은 UFS 파일을 보호하는 데 사용되고 NFSv4 이전의 NFS 버전으로 변환됩니다.
NFSv4의 도입으로 새 ACL 모델은 UNIX와 비UNIX 클라이언트 간에 NFSv4가 제공하는 상호 운용성을 완벽히 지원합니다. 새 ACL 구현은 NFSv4 사양에 정의된 대로, NT 스타일 ACL에 기반한 다양한 의미론을 제공합니다.
새 ACL 모델의 주요 차이점은 다음과 같습니다.
NFSv4 사양에 기반하며 NT 스타일 ACL과 비슷합니다.
보다 세부적인 액세스 권한 세트를 제공합니다. 자세한 내용은 Table 7–2을 참조하십시오.
setfacl 및 getfacl 명령이 아닌, chmod 및 ls 명령으로 설정 및 표시됩니다.
액세스 권한이 디렉토리에서 하위 디렉토리로 적용되는 방법을 지정하는 등 다양한 상속 의미론을 제공합니다. 자세한 내용은 ACL 상속을 참조하십시오.
양쪽 ACL 모델은 표준 파일 권한보다 훨씬 세분화된 액세스 제어를 제공합니다. POSIX 드래프트 ACL과 마찬가지로, 새 ACL은 여러 액세스 제어 항목(ACE)으로 구성됩니다.
POSIX 드래프트 스타일 ACL은 단일 항목을 사용하여 어떤 권한이 허용되고, 어떤 권한이 거부되는지 정의합니다. 새 ACL 모델에는 액세스 검사에 영향을 주는 ALLOW 및 DENY라는 두 가지 유형의 ACE가 있습니다. 따라서 권한 세트를 정의하는 단일 ACE로부터 ACE에 정의되지 않은 권한을 허용 또는 거부할지 여부를 유추할 수 없습니다.
NFSv4 스타일 ACL과 POSIX 드래프트 ACL 사이의 변환은 다음과 같습니다.
cp, mv, tar, cpio, rcp 명령과 같은 ACL 인식 유틸리티를 사용하여 ACL이 포함된 UFS 파일을 ZFS 파일 시스템으로 전송하는 경우 POSIX 드래프트 ACL이 동등한 NFSv4 스타일 ACL로 변환됩니다.
일부 NFSv4 스타일 ACL은 POSIX 드래프트 ACL로 변환됩니다. NFSv4 스타일 ACL이 POSIX 드래프트 ACL로 변환되지 않으면 다음과 비슷한 메시지가 나타납니다.
# cp -p filea /var/tmp cp: failed to set acl entries on /var/tmp/filea
현재 Solaris 릴리스를 실행하는 시스템에 보존 ACL 옵션(tar –p 또는 cpio –P)으로 UFS tar 또는 cpio 아카이브를 만들 경우, 이전 Solaris 릴리스를 실행하는 시스템에 아카이브를 추출할 때 ACL이 손실됩니다.
파일은 모두 올바른 파일 모드로 추출되지만 ACL 항목이 무시됩니다.
ufsrestore 명령을 사용하여 ZFS 파일 시스템에 데이터를 복원할 수 있습니다. 원래 데이터에 POSIX 스타일 ACL이 있는 경우 NFSv4 스타일 ACL로 변환됩니다.
UFS 파일에 NFSv4 스타일 ACL을 설정하려고 시도하면 다음과 비슷한 메시지가 나타납니다.
chmod: ERROR: ACL type's are different
ZFS 파일에 POSIX 스타일 ACL을 설정하려고 시도하면 다음과 비슷한 메시지가 나타납니다.
# getfacl filea File system doesn't support aclent_t style ACL's. See acl(5) for more information on Solaris ACL support.
다른 ACL 제한 사항 및 백업 제품에 대한 자세한 내용은 다른 백업 제품으로 ZFS 데이터 저장을 참조하십시오.