突然想在vps上配置一个ftp服务器。。于是就查各种资料安装vsftpd。。查到一堆文章对着配置文件一顿详解,我只是想安装一个服务器自己用。。。不要这么高深的配置好不好。。。本人安装环境:Ubuntu14.04 server 64位版。
1) 安装vsftpd
sudo apt-get install vsftpd
2) 修改配置文件vsftpd.conf
#禁止匿名访问
anonymous_enable=NO
#允许本地用户访问
local_enable=YES
#允许上传文件
write_enable=YES
#设置默认文件上传权限为0644
local_umask=022
#修改欢迎信息(可有可无)
ftpd_banner=Welcome to liuzhigong.com
#锁定用户在自己目录下
chroot_local_user=YES
#打开监听
listen=YES
#默认ftp根目录
local_root=/var/ftp
#使用PASV模式, 服务器处于内网或NAT下务必配置
pasv_promiscuous=YES
pasv_enable=YES
#PASV地址, 即服务器公网地址
pasv_address=liuzhigong.com
#PASV模式使用的端口段, 务必在防火墙中配置开放
pasv_min_port=10010
pasv_max_port=10086
3) 添加用户
#创建文件夹
sudo mkdir /var/ftp/liuzhigong
#创建用户
sudo useradd -d /var/ftp/liuzhigong -M liuzhigong
#设置密码
sudo passwd ftpuser
#修改文件夹权限及所有者
sudo chmod -R 755 /var/ftp/liuzhigong
sudo chown -R liuzhigong:ftp /var/ftp/liuzhigong
4) 修改pam.d/vsftpd
sudo vim /etc/pam.d/vsftpd
将auth required pam_shells.so注释掉#auth required pam_shells.so
5) 重启vsftpd
sudo service vsftpd restart
常见错误汇总
问题:Entering Passive Mode, 服务器发回了不可路由的地址。使用服务器地址代替。
答案:一般是因为服务器处于内网,PASV模式返回的IP地址是内网地址
问题:vsftpd 500 illegal port command
答案:请确认上面配置的PASV端口段能正常访问