使用Python访问密码数据库
要访问密码数据库,我们应该使用pwd模块。使用此模块,我们可以访问用户的帐户和密码数据库。密码数据库条目就像元组一样的对象。
要使用pwd模块,我们应该使用导入它。
import pwd
密码数据库的属性是-
的登录名或用户名
加密密码
用户的数字ID
用户组的数字ID
用户名和评论字段
用户的主目录
用户的命令解释器。
注–通常,pw_passwd保存加密的密码。但是在新系统中,他们使用影子密码系统。因此,现在在pw_passwd中,我们只能找到“*”或“x”符号。
该模块的一些方法是-
方法pwd.getpwuid(uid)
此方法将返回给定数字用户ID的密码数据库条目。
方法pwd.getpwnam(name)
此方法将返回给定用户名的密码数据库条目。
方法pwd.getpwall()
此方法将返回所有密码数据库条目。
范例程式码
import pwd print("Root: " + str(pwd.getpwnam('root')) + '\n') #Password detail for root for entry in pwd.getpwall(): print("Name: " + entry[0] + "\t\tShell: " + entry.pw_shell)
输出结果
$ python3 example.py Root: pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash') Name: root Shell: /bin/bash Name: daemon Shell: /usr/sbin/nologin Name: bin Shell: /usr/sbin/nologin Name: sys Shell: /usr/sbin/nologin Name: sync Shell: /bin/sync Name: games Shell: /usr/sbin/nologin Name: man Shell: /usr/sbin/nologin ……. ……. …….