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

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

Để truy cập cơ sở dữ liệu mật khẩu, chúng ta nên sử dụng mô-đun pwd. Sử dụng mô-đun này, chúng tôi có thể truy cập tài khoản người dùng và cơ sở dữ liệu mật khẩu. Các mục nhập cơ sở dữ liệu mật khẩu giống như đối tượng tuple like.

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

import pwd

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

Chỉ mục Thuộc tính &Mô tả
0 pw_name
Tên đăng nhập hoặc tên người dùng của người dùng
1 pw_passwd
Mật khẩu được mã hóa
2 pw_uid
ID số cho người dùng
3 pw_gid
ID số cho nhóm của người dùng
4 pw_gecos
Tên của người dùng và trường nhận xét
5 pw_dir
Thư mục chính của người dùng
6 pw_shell
Trình thông dịch lệnh của người dùng.

Lưu ý - Nói chung, pw_passwd lưu giữ các mật khẩu đã được mã hóa. Nhưng trong các hệ thống mới, họ sử dụng hệ thống mật khẩu bóng. Vì vậy, bây giờ, trong pw_passwd, chúng ta chỉ có thể tìm thấy ký hiệu ‘*’ hoặc ‘x’.

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

Phương thức pwd.getpwuid (uid)

Phương thức này sẽ trả về mục nhập cơ sở dữ liệu mật khẩu cho ID người dùng số đã cho.

Phương thức pwd.getpwnam (tên)

Phương thức này sẽ trả về mục nhập cơ sở dữ liệu mật khẩu cho tên người dùng đã cho.

Phương thức pwd.getpwall ()

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

Mã mẫu

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)

Đầu ra

$ 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
…….
…….
…….