Computer >> Máy Tính >  >> Lập trình >> Python

Truy cập vào Cơ sở dữ liệu nhóm bằng Python

Để truy cập cơ sở dữ liệu nhóm UNIX, chúng ta nên sử dụng mô-đun grp. Các mục nhập cơ sở dữ liệu mật khẩu bóng giống như đối tượng tuple like.

Để sử dụng mô-đun grp, chúng ta nên nhập nó bằng -

import grp

Các thuộc tính của cơ sở dữ liệu grp là -

Chỉ mục Thuộc tính &Mô tả
0 gr_name
Tên của các nhóm
1 gr_passwd
Mật khẩu được mã hóa cho nhóm. (Nói chung là trống)
2 gr_gid
Id nhóm (Số)
3 gr_mem
Danh sách người dùng nhóm

Trong đối tượng nhóm, gid là một số nguyên. Tên nhóm và mật khẩu là các chuỗi. Danh sách Thành viên là một danh sách các chuỗi.

Một số phương pháp của mô-đun này là -

Phương thức grp.getgrgid (gid)

Phương thức này sẽ trả về mục nhập cơ sở dữ liệu nhóm từ id nhóm đã cho. Khi không có nhóm nào tương ứng với gid, nó sẽ làm tăng KeyError.

Phương thức grp.getgrnam (name)

Phương thức này sẽ trả về mục nhập cơ sở dữ liệu nhóm từ tên nhóm đã cho. Khi không có nhóm nào tương ứng với gid, nó sẽ làm tăng KeyError.

Phương thức grp.getgrall ()

Phương thức này sẽ trả về tất cả mục nhập cơ sở dữ liệu nhóm.

Mã mẫu

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))

Đầu ra

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