Windows에서 CIFS/ZFS ACL을 '올바르게' 수정하도록 하려면 어떻게 해야 합니까?

Windows에서 CIFS/ZFS ACL을 '올바르게' 수정하도록 하려면 어떻게 해야 합니까?

ZFS 파일 시스템이 지원하는 CIFS 공유("라이브러리"라고 함)가 있는 FreeNAS(FreeBSD) 시스템이 있습니다. 공유는 FreeNAS GUI에 따라 "Windows/Mac" ACL을 사용하도록 설정되었으며, 이는 NFSv4 ACL을 의미한다고 생각됩니다.

기본 ACL은 다음과 같습니다.

nas# getfacl /mnt/big/library/test
# file: /mnt/big/library/test
# owner: DOMAIN\administrator
# group: DOMAIN\domain admins
            owner@:rwxpDdaARWcCo-:fd----:allow
            group@:rwxpDdaARWcCo-:fd----:allow
         everyone@:r-x---a-R-c---:fd----:allow

Windows 7 GUI에서는 공유 루트에서 상속된 "DOMAIN\administrator" 및 "DOMAIN\Domain Admins"에 대한 "모든 권한"과 "Everyone"에 대한 "읽기 및 실행"으로 나타납니다. Windows는 소유자를 "관리자"로 올바르게 인식하기도 합니다.

관련이 있을 수 있다고 생각되는 두 가지 문제가 있습니다.

먼저 기존 개체(파일 또는 디렉터리)에서 ACE를 수정하거나 생성하면 Windows는 owner@ACE를 ACE로 바꾸고 group:DOMAIN\administrator추가하는 경우 group:DOMAIN\joe사용자를 위한 그룹 ACE를 생성합니다. 사용자가 그룹이라고 생각한다는 사실은 별로 신경 쓰지 않지만(작동하는 한) 소유자 ACE를 교체하는 것은 고통스럽습니다. 이제 개체의 소유자를 변경하면 ACE가 이전에 계속 존재하기 때문입니다. 소유자.

두 번째 성가심은 새 객체를 생성할 때 ACL이 다음과 같다는 점입니다.

nas2# getfacl /mnt/big/library/test/New\ folder/
# file: /mnt/big/library/test/New folder/
# owner: DOMAIN\joe
# group: DOMAIN\domain users
            owner@:rwxpDdaARWcCo-:fd----:allow
            group@:rwxpDdaARWcCo-:fd----:allow
         everyone@:r-x---a-R-c---:fd----:allow

ACE를 올바르게 상속한 것처럼 보이지만 상위 디렉터리의 소유자나 그룹을 유지하지 않았습니다. 포함된 디렉터리의 속성을 사용하여 생성할 수 있는 방법이 있습니까?

을 보면서setfacl 맨페이지그것은 다음과 같이 말합니다:

 -d      The operations apply to the default ACL entries instead of access
         ACL entries.  Currently only directories may have default ACL's.
         This option is not applicable to NFSv4 ACLs.

이는 NFSv4 ACL이 두 번째 문제를 해결하는 데 필요한 기본 ACE를 지원하지 않는다는 것을 의미합니다. 그게 맞는지 아는 사람 있나요?

답변1

따라서 저는 이 문제에 대해 실제로 많이 다루지 않았으며 심각하게 틀렸을 수도 있지만 다음은 이를 설명할 수 있는 몇 가지 사항입니다.

  • NFSv4 ACL은 비슷하지만좀 빠지는Windows/CIFS/NTFS ACL과 같습니다.

    예를 들어 Windows ACL 형식은 '사용자', '그룹' 또는 '특수' SID를 전혀 구별하지 않습니다. NAS는 Windows 시스템에 어떤 계정이 있는지 모르기 때문에 어떤 SID가 사용자이고 어떤 SID가 그룹인지 결정할 수 없습니다. 추측해야 합니다.

  • 그러나 NFSv4 ACL은 POSIX 스타일의 '기본 ACE'를 지원하지 않지만하다Windows/CIFS 스타일의 '상속 가능한' ACE를 지원합니다. 즉, 각 항목은 상속 가능하거나 그렇지 않을 수 있습니다.

    FreeBSD에서는getfacl, "파일로 상속 가능" 및 "디렉토리로 상속 가능"에 해당하는 f및 플래그를 볼 수 있습니다 .d

    POSIX ACL의 '기본' ACE와 거의 동일한 "상속 전용" 플래그도 있습니다. i즉, ACE는 상속만 되고 디렉터리 자체에는 사용되지 않습니다.

  • 파일을 생성할 때,언제나그것을 만든 사용자의 소유입니다. 상속받을 수 없습니다.

    CIFS 서버가 Windows Server를 실행 중인 경우 내장된 "관리자" 그룹을 기본 파일 소유자로 만드는 옵션이 있습니다(소유자가 사용자 또는 그룹이 되도록 허용하고 '그룹 소유권이 없음). ').

관련 정보