使用apt-get install vsftpd安裝完後,啟動ftp。然後使用本地使用者不能登入的解決方法。
sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd
ubuntu啟用了PAM,所在用到vsftp時需要用到 /etc/pam.d/vsftpd 這個檔案(預設源碼安裝的不會有這個檔案),是以除了匿名使用者外本地使用者無法登入。是以隻要删除了就可以了。
然後附上我的配置檔案内容:
1 listen=YES
2 anonymous_enable=NO
3 local_enable=YES
4 write_enable=YES
5 dirmessage_enable=YES
6 use_localtime=YES
7 xferlog_enable=YES
8 connect_from_port_20=YES
9 chroot_list_enable=YES
10 chroot_list_file=/etc/vsftpd.chroot_list
11 secure_chroot_dir=/var/run/vsftpd/empty
12 pam_service_name=vsftpd
13 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
14 rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
然後把登入的使用者添加進/etc/vsftpd.chroot_list就可以使用本地使用者和密碼登入自己的$HOME了。
據說還要把使用者的/bin/false改成/sbin/nologin沒驗證,因為我在建立使用者的時候就指定的是/sbin/nologin
本文轉自ting2junshui51CTO部落格,原文連結:http://blog.51cto.com/ting2junshui/1751836 ,如需轉載請自行聯系原作者