Để truy cập cơ sở dữ liệu mật khẩu bóng UNIX, chúng ta nên sử dụng mô-đun spwd. Chúng tôi cần có đủ đặc quyền để truy cập tệp này. 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 spwd, chúng ta nên nhập nó bằng -
import spwd
Các thuộc tính của cơ sở dữ liệu mật khẩu bóng là -
Chỉ mục | Thuộc tính &Mô tả |
---|---|
0 | sp_nam Tên đăng nhập hoặc tên người dùng của người dùng |
1 | sp_pwd Mật khẩu được mã hóa |
2 | sp_lstchg Ngày thay đổi cuối cùng |
3 | sp_min Số ngày tối thiểu giữa các lần thay đổi mật khẩu |
4 | sp_max Số ngày tối đa giữa các lần thay đổi mật khẩu |
5 | sp_warn Cảnh báo về số ngày thay đổi mật khẩu |
6 | sp_inact Số ngày sau khi mật khẩu hết hạn cho đến khi tài khoản bị khóa |
7 | p_expire Số ngày kể từ ngày 01/01/1997 cho đến khi tài khoản bị vô hiệu hóa |
8 | sp_flag Đặt trước |
Một số phương pháp của mô-đun này là -
Phương thức spwd.getspnam (tên)
Phương thức này sẽ trả về mục nhập cơ sở dữ liệu mật khẩu bóng cho tên người dùng đã cho.
Phương thức spwd.getspall ()
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 bóng có sẵn.
Mã mẫu
import spwd print("Root: " + str(spwd.getspnam('root')) + '\n') #Password detail for root for entry in spwd.getspall(): print("Name: " + entry[0] + "\t\tPassword: " + entry.sp_pwdp)
Đầu ra
(Để có được đầu ra mong muốn, chúng ta nên chạy tập lệnh ở chế độ sudo)
$ sudo python3 example.py Root: spwd.struct_spwd(sp_namp='root', sp_pwdp='!', sp_lstchg=17778, sp_min=0, sp_max=99999, sp_warn=7, sp_inact=-1, sp_expire=-1, sp_flag=-1) …….. …….. …….. Name: geoclue Password: * Name: gnome-initial-setup Password: * Name: gdm Password: * Name: unix_user Password: $6$47n9s0Ep$znWkgNtywebHGKq2o6kZKhGOM8ryp8z4/6P6PUE1m.NQ5Erg9aWncNUAGbuNLFNWUO9M9xzKLxRpFGB5md/nu1 Name: mongodb Password: !