近几天一个朋友叫我帮他弄弄FTP,今天下午终于搞定了 唉 初学者 不容易啊!
也许明日出发,看一程山长水远,而归来是一生的事。青春尚未散场,还有未来可以挥霍,现实很穷,理想很富裕
先安装好vsftpd,这个我不说了。
1.首先安装Berkeley DB工具。很多人找不到db_load的问题就是木有安装这个包:
sudo apt-get install db-util
2.建立虚拟用户列表:
sudo vi /etc/vsftpd_vuserlist.txt(名字自己随便取,记住了!)
建立用户,基数行为用户名,偶数行为密码,比如:
xxh
123456
mike
000000
设置访问数据库的权限,如果任何人都可以访问,那不是白设用户名密码了。
chmod 600 /etc/vsftpd_vuserlist.txt
3.接着生成虚拟用户的数据库认证DB文件:
db_load -T -t hash -f /etc/vsftpd_vuserlist.txt /etc/vsftpd_vuserlist.db
4.随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来的语句,再增加一下语句:
auth required pam_userdb.so db=/etc/vsftpd_vuserlist
account required pam_userdb.so db=/etc/vsftpd_vuserlist
useradd -d /home/ftpuser ftpuser
useradd: user 'ftpuser' already exists
root@yue:/home/yue# mkdir /home/ftpuser
root@yue:/home/yue# chown ftpuser.ftpuser /home/ftpuser
root@yue:/home/yue# ls -ld /home/ftpuser/
drwxr-xr-x 2 ftpuser ftpuser 4096 10月 16 19:20 /home/ftpuser/
创建下列目录:
root@yue:/home/yue# echo "Michaelyue's ftpuser server"> /home/ftpuser/msg
root@yue:/home/yue# chown ftpuser.ftpuser /home/ftpuser/msg
6.在/etc/vsftpd.conf中做配置修改:
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
listen=YES
listen_port=21
关闭匿名登录(不能注释,只能改成anonymous_enable=NO);
添加匿名用户根目录 local_root=/home/yue/ftp(可根据不同修改);
7.重启FTP服务器。service vsftpd restart
8.测试。