可以通過安裝vsftpd服務,然後禁止其通過pam認證並將check_shell設置為NO,添加用戶的時候將用戶的shell設置為/bin/false,這樣既可以禁止用戶ssh登錄又可以正常使用ftp。以下是我的/etc/pam.d/vsftpd和/etc/vsftpd.conf配置。
/etc/pam.d/vsftpd
# Standard behaviour for ftpd(8)./etc/vsftpd.conf
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=suclearcase/" target="_blank" >cceed
# Note: vsftpd handles anonymous logins on its own. Do not enable
# pam_ftp.so.
# Standard blurb.
@include common-account
@include common-session
@include common-auth
#auth required pam_shells.so
listen=YES添加用戶的時候加上選項-s /bin/false即可。
anonymous_enable=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
check_shell=NO