Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 그룹 데이터베이스에 액세스

<시간/>

UNIX 그룹 데이터베이스에 액세스하려면 grp 모듈을 사용해야 합니다. 섀도우 비밀번호 데이터베이스 항목은 튜플과 같은 개체입니다.

grp 모듈을 사용하려면 −

를 사용하여 가져와야 합니다.
import grp

grp 데이터베이스의 속성은 -

색인 속성 및 설명
0 gr_name
그룹 이름
1 gr_passwd
그룹의 암호화된 암호입니다. (일반적으로 비어 있음)
2 gr_gid
그룹 ID(숫자)
3 gr_mem
그룹 사용자 목록

그룹 개체에서 gid는 정수입니다. 그룹 이름과 암호는 문자열입니다. 멤버 목록은 문자열 목록입니다.

이 모듈의 일부 방법은 -

방법 grp.getgrgid(gid)

이 메서드는 지정된 그룹 ID에서 그룹 데이터베이스 항목을 반환합니다. gid에 해당하는 그룹이 없으면 KeyError가 발생합니다.

방법 grp.getgrnam(이름)

이 메서드는 주어진 그룹 이름에서 그룹 데이터베이스 항목을 반환합니다. gid에 해당하는 그룹이 없으면 KeyError가 발생합니다.

grp.getgrall() 메소드

이 메서드는 모든 그룹 데이터베이스 항목을 반환합니다.

예시 코드

import grp
print("ID: 4: " + str(grp.getgrgid(4)) + '\n') #Password detail using Group ID
   print("cdrom group: " + str(grp.getgrnam('cdrom')) + '\n') #Password detail using Group name
      for entry in grp.getgrall():
   print("Group Name: " + entry[0] + "\t\tMembers: " + str(entry.gr_mem))

출력

$ sudo python3 example.py
ID: 4: grp.struct_group(gr_name='adm', gr_passwd='x', gr_gid=4, gr_mem=['syslog', 'unix_user'])

cdrom group: grp.struct_group(gr_name='cdrom', gr_passwd='x', gr_gid=24, gr_mem=['unix_user'])

Group Name: root       Members: []
Group Name: daemon      Members: []
Group Name: bin       Members: []
Group Name: sys       Members: []
Group Name: adm       Members: ['syslog', 'unix_user']
Group Name: tty       Members: []
Group Name: disk       Members: []
Group Name: lp       Members: []
Group Name: mail       Members: []
Group Name: news       Members: []
Group Name: uucp       Members: []
Group Name: man       Members: []
Group Name: proxy       Members: []
Group Name: kmem       Members: []
Group Name: dialout     Members: []
Group Name: fax       Members: []
Group Name: voice       Members: []
Group Name: cdrom       Members: ['unix_user']
Group Name: floppy      Members: []
Group Name: tape       Members: []
Group Name: sudo       Members: ['unix_user']
Group Name: audio       Members: ['pulse']
Group Name: dip       Members: ['unix_user']
Group Name: www-data    Members: []
Group Name: backup      Members: []
………..
………..
………..