Ubuntu FTP服务器--vsftpd的安装和配置

摘要:我们经常需要将本地的文件上传到远程的Ubuntu 服务器上,或者把远程Ubuntu 14.04服务器上的文件下载到本地,这就需要用到vsftpd来搭建FTP服务,现在介绍一下如何在Ubuntu 14.04上安装和配置vsftpd...

作者:LoveCode标签:Ubuntu,ftp,vsftpd

我们经常需要将本地的文件上传到远程的Ubuntu 服务器上,或者把远程Ubuntu 服务器上的文件下载到本地,这就需要用到vsftpd来搭建FTP服务,现在介绍一下如何在Ubuntu 上安装和配置vsftpd


更新源列表

打开"终端窗口",输入:

sudo apt-get update

-->回车-->"输入当前登录用户的管理员密码" -->回车,就可以了。 如果不运行该命令,直接安装vsftpd,会出现"有几个软件包无法下载"的错误提示,导致无法安装。您可以运行:

apt-get update


安装vsftpd

打开"终端窗口",输入:

sudo apt-get install vsftpd

-->回车-->安装完成。


判断vsftpd是否安装成功

打开"终端窗口",输入:

sudo service vsftpd restart

重启vsftpd服务-->回车-->vsftpd处于运行状态,说明安装成功。


新建"/home/uftp"目录作为用户主目录

打开"终端窗口",输入:

sudo mkdir /home/uftp

-->回车-->输入:

sudo ls /home

-->回车-->有一个uftp目录,目录新建成功。


新建用户uftp并设置密码

打开"终端窗口",输入:

sudo useradd -d /home/uftp -s /bin/bash uftp

-->回车-->用户新建成功-->输入:

sudo passwd uftp

设置uftp用户的密码-->回车-->输入两次密码-->回车-->密码设置成功。

使用gedit修改配置文件/etc/vsftpd.conf打开"终端窗口",输入:

sudo gedit /etc/vsftpd.conf

-->回车-->打开了vsftpd.conf文件,向文件中添加:

userlist_deny=NO
userlist_enable=YES #指定一个userlist 存放允许访问ftp的用户列表
userlist_file=/etc/allowed_users #记录允许访问ftp用户列表
seccomp_sandbox=NO    #不配置可能导致莫名的530问题

修改文件中的:

local_enable=YES    #允许本地用户登录

-->保存。


使用gedit新建/etc/allowed_users文件

打开"终端窗口",输入:

sudo gedit /etc/vsftpd.allowed_users

-->回车-->输入uftp-->保存, 文件创建成功。


使用gedit查看/etc/ftpusers文件中的内容

打开"终端窗口",输入:

sudo gedit /etc/ftpusers

-->回车-->打开这个文件后,看一看有没有uftp这个用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。


使用ftp客户端登录FTP服务器

如果登录出现“530 Login incorrect”

1, 检查/etc/vsftpd/vsftpd.conf配置

local_enable=YES  
pam_service_name=vsftpd     //ubuntu设置 pam_service_name=ftp 否则会出现530 login incorrect
userlist_enable=YES

2,修改/etc/vsftpd/ftpusers

# vim /etc/pam.d/vsftpd   //你会发现,拒绝ftpusers里面的用户  
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

ftpusers里面是ftp默认拒绝的用户,如果要想系统用户,就把这个用户从ftpusers文件中删除。

[root@node1 vsftpd]# cat /etc/vsftpd/ftpusers  
# Users that are not allowed to login via ftp  
root  
bin  
#daemon   //删除掉就能登录了  
adm  
lp  
sync

在这里要注意,不要把/etc/pam.d/vsftpd里面的deny改成allow,不然你自己建立的用户就会报530 Login incorrect 

3,重启vsftpd

sudo service vsftpd restart
#或者
/etc/init.d/vsftpd start


iptables开放端口:

sudo iptables -A INPUT -p tcp --dport 50000:51000 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 50000:51000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT

sudo iptables-save > /etc/iptables-rules
#然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:
pre-up iptables-restore < /etc/iptables-rules
#这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

ufw开放端口

sudo ufw allow 20
sudo ufw allow 21
sudo  ufw  allow  50000:51000
CopyRight © 2017 荒山本的官方网站 粤ICP备16049175号 All Right Service 网站地图(xml) 网站地图(html)