UNIX 그룹의 계층 구조를 만들어야 합니다. 이와 같이:
A
|\
| \
B c
|\
D e
|\
f g
...여기서 A, B, D는 UNIX 그룹이고 c, e, f, g는 이러한 특정 그룹의 구성원인 UNIX 계정입니다. 구글링을 많이 해봤지만 불가능한 것 같습니다.
현재 우리는 다음을 가지고 있습니다:
- 그룹 A에는 구성원이 있습니다. c.
- 그룹 B에는 멤버 e가 있습니다.
- 그룹 D에는 멤버 f와 g가 있습니다.
고쳐 쓰다:
@John의 게시물을 통해 모호함을 제거하기 위해 요구 사항을 재구성해야 한다는 사실을 깨닫게 되었습니다.
내 요구 사항은 다음과 같습니다
- 그룹 B의 구성원만 디렉터리에 액세스할 수 있습니다. 따라서 B는 폴더의 그룹 소유자입니다. 그룹 D는 B의 하위 그룹이므로 D의 구성원은 그룹 B의 구성원이 되며 디렉터리에도 액세스할 수 있습니다.
하지만 그룹 B의 구성원은 그룹 A의 구성원과 동일한 권한을 가지고 있어야 합니다. (따라서 그룹 A가 디렉터리 그룹 소유자인 경우 그룹 B는 자동으로 디렉터리 그룹 소유자가 됩니다.)
그런데, 이것은 실제 문제입니다. 저는 그룹 B와 그 구성원에 대해 완전한 통제권을 가지고 있습니다. 다른 그룹과 그 구성원에 대해서는 제한적이거나 통제력이 없습니다. 따라서 새 그룹을 생성하고 그룹 A 또는 D의 구성원에게 멤버십을 부여할 수 없습니다.
답변1
일반 UNIX 권한으로는 이 작업을 수행할 수 없습니다.
ACL을 사용하면 가능합니다(또는 가능해야 합니다).
ACL을 지원하는 파일 시스템을 사용해야 합니다. 이는 대부분의 최신 Linux 파일 시스템에 해당됩니다.
기본 명령은 setfacl입니다.
예에서 그룹 B가 /B 디렉터리를 소유한 경우 다음과 같이 그룹 D에 대한 액세스 권한을 추가합니다.
setfacl -m group:B:rwx,group:D:rwx /B
이것은 가장 기본적인 예일 뿐이지만 아이디어를 이해하는 데 도움이 될 수 있습니다. 이를 위해서는 신중하고 명시적인 액세스 제어 설정이 필요하지만 기본 UNIX 권한 이상의 작업을 수행할 수 있습니다. 그러나 그 기능은 예를 들어 전체 AD 그룹 정책의 기능보다 훨씬 적습니다.
답변2
Ulrich가 말했듯이 전통적인 그룹은 이것을 할 수 없습니다. 귀하의 파일 권한은 소유자 한 명, 그룹 한 명 및 "그 외 모든 사람"으로 제한됩니다. 사용자를 여러 그룹에 포함시켜 액세스 요구 사항을 충족할 수 있지만, 그렇더라도 제한 사항 1과 3은 상호 배타적이므로 문제가 발생합니다. 필요한 솔루션은 LDAP 또는 파일 시스템 ACL을 기반으로 합니다. 문제에 대해 더 많이 알지 못하면 어느 것이 확실하지 않습니다.