Python訪問組資料庫


要訪問UNIX組資料庫,我們應該使用grp模組。影子密碼資料庫條目類似於元組物件。

要使用grp模組,我們應該使用以下方法匯入它:

import grp

grp資料庫的屬性如下:

索引屬性和描述
0gr_name
組名稱
1gr_passwd
組的加密密碼。(通常為空)
2gr_gid
組ID(數字)
3gr_mem
組使用者列表

在組物件中,gid是一個整數。組名和密碼是字串。成員列表是一個字串列表。

該模組的一些方法如下:

方法 grp.getgrgid(gid)

此方法將從給定的組ID返回組資料庫條目。如果沒有與gid對應的組,它將引發KeyError。

方法 grp.getgrnam(name)

此方法將從給定的組名返回組資料庫條目。如果沒有與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: []
………..
………..
………..

更新於:2020年6月25日

233 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.