APUE에서 나오는 getgroups, setgroups를 어떻게 사용하나요 ?

layer7의 이미지

6장에 나오는 supplementary Group IDs에

getgroups, setgroups 함수가나오는데 man 페이지나 책내용이

잘 이해가 가지 않습니다. 사용법이나, 어느 경우에 사용을 해야 하는지

좀 알수 업을까요.. (__);

vigor96의 이미지

하나의 ID 는

하나의 group 뿐만아니라

여러 group 에 속할 수 있습니다.

/etc/passwd 에서는 기본 그룹이 지정되어 있는겁니다.

추가 그룹에 대해서는

/etc/group 에

아이디를 추가해 나가죠...

setgroups 를 실제 실행해 보시면 알겠지만요...

이것이 필요한 이유는..

여러개의 그룹을 가지고서 유연하게 화일/디렉토리 퍼미션을

적용시킬 수 있다는 데 있죠.

특정 그룹(dev)에 그 그룹에 속하는 아이디를 넣고서

특정 디렉토리(/aaa/dev)의 퍼미션을 770 으로 잡고 그 디렉토리 그룹 소유권을 특정 그룹(dev)에 준다면 그 그룹(dev)에 속하는 사용자만

그 디렉토리(/aaa/dev)에 대해서 이용할 수 있는 거죠..

여러개의 그룹에 여러명의 사용자가

다대다 형식으로 들어 갈 수 있는 겁니다..