
설명서와 인터넷에 있는 내용에 따라 설치했으며 libpam-pwdfile
구성은 다음과 같습니다.
# /etc/vsftpd.conf
listen_ipv6=YES
listen_port=<port>
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vsftpd
nopriv_user=vsftpd
hide_ids=YES
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/vsftpd/$USER
pam_service_name=vsftpd
utf8_filesystem=YES
그리고
# /etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so
그리고
$ useradd --home /home/vsftpd --gid <group> -m --shell /bin/false vsftpd
$ htpasswd -c -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)
그러나 를 사용하여 FTP에 연결하면 <virtual user>:<password>
계속해서 다음과 같은 오류가 발생합니다.
USER <virtual user>
530 Login incorrect.
그렇다면 내가 무엇을 놓치고 있는 걸까요?
업데이트db_load
: vsftpd가 db( 및 pam_userdb.so
)를 사용하도록 구성되어 있지만 passwd 파일은 사용하지 않으면 정상적으로 로그인할 수 있습니다 .
답변1
-p
호출할 때 옵션이 누락된 것 같습니다.htpasswd
이것은 작동합니다 :
htpasswd -c -p -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)
참조는 여기를 참조하세요:vsftpd는 MD5로 암호화된 비밀번호를 허용하지 않습니다