要访问密码数据库,我们应该使用pwd模块。使用此模块,我们可以访问用户的帐户和密码数据库。密码数据库条目就像元组一样的对象。
要使用pwd模块,我们应该使用导入它。
import pwd
密码数据库的属性是-
指数 | 属性和说明 |
---|---|
0 | pw_name用户 的登录名或用户名 |
1 | pw_passwd 加密密码 |
2 | pw_uid 用户的数字ID |
3 | pw_gid 用户组的数字ID |
4 | pw_gecos 用户名和评论字段 |
5 | pw_dir 用户的主目录 |
6 | pw_shell 用户的命令解释器。 |
注–通常,pw_passwd保存加密的密码。但是在新系统中,他们使用影子密码系统。因此,现在在pw_passwd中,我们只能找到“ *”或“ x”符号。
该模块的一些方法是-
此方法将返回给定数字用户ID的密码数据库条目。
此方法将返回给定用户名的密码数据库条目。
此方法将返回所有密码数据库条目。
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 ……. ……. …….