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: [] ……….. ……….. ………..