1.输入sudo apt-get install vsftpd 回车
这样就安装完毕了,然后去建立一个ftp的帐号,我这里使用的是ftp。
2.输入useradd ftp 回车
输入密码 回车
这样帐号就新建好了在/home/下应该会有一个ftp的文件夹
3.配置vsftpd
输入vi /etc/vsftpd.conf
将Anonymous_enable=YES (允许匿名登陆) 改为NO
listen=YES
local_enable=YES
write_enable=YES
ftpd_banner="欢迎来到XXX的FTP“ -------这个写不写无所谓,我弄着玩的
编辑完成后输入wq保存
然后/etc/init.d/vsftpd restart 重启服务器就可以了,这样已经可以完成访问ftp了。
4.下面我说一下如果是指定目录访问如何设置
首先vi /etc/passwd 看看你的用户,比如我的ftp帐号 ftp:x:1000:1000::/home/ftp:/bin/sh
我的ftp默认路径就是/home/ftp,这个只是看看其实没什么大作用。
关键的步骤是下面
将chroot_list_enable=YES和chroot_list_file=/etc/vsftpd.chroot_list的注释去掉
chroot_local_user=YES这个注释不要去
这样的意思 就是 加入vsftpd.chroot_list列表中的用户将只能访问自己的目录,其他将无法访问。
修改完毕后保存。
去创建vsftpd.chroot_list,输入vi /etc/vsftpd.chroot_list创建这个文件然后写入用户ftp保存。
重启vsftpd
使用ftp工具filezilla连接会发现链接错误
是因为chroot从某个版本开始,开启了chroot后根目录不允许有写的权限,所以你需要输入
chmod a-w /home/ftp 回车
然后在试试看 应该就可以连接了,并且只能访问自己的目录/home/ftp
2016年1月21日
今天安装VSFTPD发现报530 Login incorrect
把/etc/pam.d/vsftpd里面的deny改成allow就可以了