한 번에 하나의 그룹만 활성화할 수 있는 이유는 무엇입니까?

한 번에 하나의 그룹만 활성화할 수 있는 이유는 무엇입니까?

내가 이해한 바로는 Unix 시스템의 사용자는 여러 그룹에 속할 수 있으며 해당 그룹 중 하나가 해당 사용자의 기본 그룹이 됩니다. 다른 그룹은 보충 그룹이 됩니다. 이들 모두 사용자/그룹 인프라/etc/group문서화 촉진 /etc/passwd.

사용자의 그룹 권한은 이제 활성 그룹에 의해 전적으로 결정되며 newgrp명령을 통해 변경할 수 있습니다. 로그인 시 활성 그룹은 /etc/passwd파일에 정의된 기본 그룹입니다. 그렇다면 사용자에게 여러 개의 보조 그룹을 허용하면서도 디자이너가 단일 활성 그룹 개념을 선택한 근본적인 이유는 무엇일까요? 모든 그룹이 동시에 활동하면 어떤 문제가 발생합니까?

답변1

모든 그룹은 항상 활성화되어 있습니다.

귀하의 모든 그룹이 액세스할 수 있는 모든 파일에 액세스할 수 있습니다. 그러나 새 파일/프로세스를 생성하면 기본 그룹을 사용하여 생성됩니다., 하지 않는 한설정또는ACL 기본값사용.

답변2

한 가지 이유: 파일이 생성될 때 파일은 하나의 그룹에만 속할 수 있으며, 파일이 생성될 때 그룹이 지정되지 않습니다. 따라서 단일 활성 그룹이라는 개념이 있어야 합니다.

답변3

Q1: 그러면 질문은 디자이너가 사용자에게 여러 개의 보조 그룹을 가질 수 있음에도 불구하고 단일 활성 그룹 개념을 선택한 근본적인 이유가 무엇입니까?

Unix에서 그룹의 원래 주요 목적은 디스크의 파일에 대한 공유 액세스를 허용하는 것이었습니다. 이 사용 사례에서는 일반적으로 대부분의 경우 파일에 액세스하고 가끔 사용자 그룹 간에 공유되는 파일에 액세스합니다.

그래서 나는 그것이 처음부터 이 모델을 중심으로 설계되었다고 생각합니다. 모델은 시간이 지남에 따라 수정되었지만 일반적인 접근 방식은 동일하게 유지됩니다. 즉, 기본 그룹(에 지정됨)에 속해 있고 구성원이 될 수 있는 /etc/passwd보조 그룹(에 지정됨)이 있습니다 ./etc/group

일부 초기 구현(예: Sun/Solaris)에는 NIS+를 사용할 때 사용자가 구성원이 될 수 있는 총 그룹 수가 약 15개로 제한되었습니다.

Q2: 모든 그룹이 동시에 활성화되면 어떤 문제가 발생하나요?

POSIX에는 이 디자인으로 API를 노출하는 많은 시스템 호출이 있으므로 이를 수정하는 것은 현재 주변에 구축된 소프트웨어의 양을 고려할 때 어려운 작업이 될 수 있습니다. 그리고 그것을 바꿀 이유가 전혀 없습니다.

다른 큰 제한 사항은 파일 시스템과 프로세스 공간입니다. 파일 시스템의 경우 일반적으로 특정 파일이나 디렉터리를 "그룹화"할 GID에 대한 단일 값만 포함됩니다. 프로세스를 실행하는 경우에도 마찬가지입니다. 일반적으로 그룹과 연관되어 있습니다.

그러나 시간이 지남에 따라 이 전체적인 접근 방식은 Active Directory 및 기타 자격 증명 기술과의 통합에 적응할 수 있게 되었기 때문에 처음 배울 때 약간 이상하더라도 매우 좋은 구현입니다.

인용하다

=OpenGroup POSIX 문서에 GID가 언급되어 있습니다.

관련 정보