Cách đây vài năm, tôi đã thiết lập một máy chủ vsftpd với người dùng ảo, theo một số hướng dẫn (vẫn) được tìm thấy trên internet, sử dụng pam_userdb.
Như thế này: Một tệp có tên /etc/pam.d/vsftpd.virtual
:
#%PAM-1.0
yêu cầu xác thực pam_userdb.so db=/etc/vsftpd/users crypt=crypt
yêu cầu tài khoản pam_userdb.so db=/etc/vsftpd/users crypt=crypt
phiên bắt buộc pam_loginuid.so
Một khung cảnh bên trong /etc/vsftpd/vsftpd.conf
:
pam_service_name=vsftpd.virtual
Và một BerkeleyDB chứa mã băm của người dùng và mật khẩu (/etc/vsftpd/users.db
).
Theo trang chủ của pam_userdb
, mô-đun này chỉ hỗ trợ mật khẩu văn bản rõ ràng hoặc hầm mộ
ed, luôn có trong BerkeleyDB.
Trong khi đó, cách tiếp cận này có vẻ vừa lỗi thời vừa không thực tế đối với tôi, vì rõ ràng hầm mộ
mật khẩu ed không an toàn (thậm chí không nói đến biến thể văn bản rõ ràng) và việc xử lý BerkeleyDB chứa chúng khiến việc sử dụng một số trình bao bọc trở nên cần thiết.
Cho nên: Có một số mô-đun PAM thay thế, ví dụ: có thể xử lý một tệp văn bản thuần túy với người dùng và bcrypt
ed mật khẩu? Hoặc ít nhất là với mật khẩu sử dụng một số hàm băm SHA? Điều đó có thể được cập nhật bằng cách sử dụng, ví dụ: htpasswd
(hoặc mkpasswd
)? Một cái gì đó giống như tệp người dùng Dovecot hoặc tệp htaccess để sử dụng với ví dụ: ánh sángtpd?
Cái gì đó như
some_user:$2y$05$ensqtXGZXUf5DQosKk51.utplrWUqkeZzNNI8.lCVT.K86uillL4a
? Tôi cho rằng một số mô-đun PAM khác có thể được sử dụng bởi vsftpd theo cách tương tự? Cảm ơn tất cả sự giúp đỡ!