[파이썬] os `os.getgrouplist()`로 사용자의 그룹 리스트 조회

파이썬에는 사용자의 그룹 정보를 조회할 수 있는 여러 가지 방법이 있습니다. 그 중에서 os.getgrouplist() 함수를 사용하면 현재 사용자가 속한 그룹 리스트를 가져올 수 있습니다.

os.getgrouplist() 함수란?

os.getgrouplist() 함수는 파이썬의 os 모듈에 있는 함수로, 현재 사용자가 속한 그룹 리스트를 가져오는 기능을 제공합니다. 이 함수는 사용자의 UID(User ID)와 소속 그룹 ID(Primary Group ID)를 기반으로 사용자가 속한 모든 그룹의 GID(Group ID)를 반환합니다.

예제 코드

다음은 os.getgrouplist() 함수를 사용하여 사용자의 그룹 리스트를 조회하는 예제 코드입니다.

import os

def get_user_group_list():
    # 현재 사용자의 UID(User ID)를 가져옴
    uid = os.getuid()

    # 현재 사용자의 소속 그룹 ID(Primary Group ID)를 가져옴
    gid = os.getgid()

    # 사용자가 속한 그룹 리스트를 조회
    groups = os.getgrouplist('', gid)

    # 조회된 그룹 리스트 출력
    print(f"User's group list: {groups}")

get_user_group_list()

위 예제 코드에서는 먼저 os.getuid() 함수를 사용하여 현재 사용자의 UID를 가져옵니다. 그리고 os.getgid() 함수를 사용하여 현재 사용자의 소속 그룹 ID를 가져옵니다.

마지막으로 os.getgrouplist() 함수로 현재 사용자가 속한 그룹 리스트를 조회합니다. 함수의 첫 번째 인자로는 빈 문자열('')을 사용하고, 두 번째 인자로는 소속 그룹 ID를 전달합니다.

조회된 그룹 리스트는 groups 변수에 저장되며, 이를 활용하여 필요한 작업을 수행할 수 있습니다.

출력 결과 예시:

User's group list: [10, 20, 30, 40]

위 예제 코드를 실행하면 현재 사용자가 속한 그룹의 GID를 리스트 형태로 출력합니다.

결론

os.getgrouplist() 함수를 사용하면 파이썬에서 현재 사용자의 그룹 리스트를 손쉽게 조회할 수 있습니다. 이를 활용하면 사용자의 그룹에 따라 다른 작업을 수행하는 프로그램을 구현하는 등 다양한 작업을 할 수 있습니다.