ubuntu 16.04 安装FTP服务器

来源:互联网 发布:数字摇奖软件 编辑:程序博客网 时间:2024/06/01 13:58

21端口用于连接,20端口用于传输数据
  进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,要传输文件时,服务器会开一个端口为20来进行传输数据文件。

 

1.sudo apt-getupdate

1、有问题时完全卸载vsftpd

sudo apt-get purge vsftpd

2、安装vsftpd

sudo apt-get install vsftpd

3、创建ftp用户

方法一:直接在系统设置添加用户

 方法二:

创建用户目录sudo mkdir/home/uftp

创建用户sudo useradd -d /home/uftp -s /bin/bash uftp

修改密码sudo passwd uftp

4、配置vsftpd.conf

sudo gedit /etc/vsftpd.conf


编辑vsftpd.conf文件

userlist_deny=NO

userlist_enable=YES

#允许登录的用户

userlist_file=/etc/allowed_users

seccomp_sandbox=NO

#默认ftp下载目录

local_root=/home/uftp/

local_enable=YES

#设置文件上传

write_enable=YES

#使用utf8

utf8_filesystem=YES


添加允许登录的用户

sudogedit /etc/allowed_users

5、启动停止重启服务

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

 

sudo/etc/init.d/vsftpd stop或者sudo service vsftpd stop

 

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


6、访问ftp服务器

sudoftp127.0.0.1

浏览器访问 
ftp://127.0.0.1 
或者 
ftp://localhost

远程访问时使用实际ip ftp://your_ip

查看ip

ifconfig


安装完成后,可以正常使用,但是vsftpd服务重启时却遇到了问题 530 Login incorrect

解决方法

解决方式也比较简单,需要修改下配置文件

如果没备份最好还是先备份一下,养成备份的习惯总是好的

sudo cp/etc/vsftpd.conf /etc/vsftpd.conf.back

然后用 VIM打开配置文件

/etc/vsftpd.conf

找到并修改以下配置 (在命令模式下,用搜索命令更快哦~/pam_service_name)

pam_service_name=ftp

保存并重启服务

sudo service vsftpdrestart

 

 

在iptables防火墙下开启vsftpd的端口

http://www.linuxidc.com/Linux/2014-11/109464.htm

 

在开启vsftpd端口后发现用客户端工具能登陆,但无法浏览文件和新建文件.此时看了一下ftp的协议,发现ftp有主动模式和被动模式.在服务端开21端口是让客户端进来,并没有出去的端口,还在服务端开启出去的端口,最后还要添加ftp相应的模块,整个操作有点复杂,今天写下来对自己以后加深印像。

--------------------------------------分割线--------------------------------------

玩转vsftpd服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

Ubuntu实用简单的FTP架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设FTP服务器和Apache服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu13.04 安装LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6平台下SeLinux和vsftpd的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux系统vsftpd源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

vsftpd的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm

--------------------------------------分割线--------------------------------------

1.安装vsftpd软件

yum installvsftpd -y

2.开启匿名访问和被动模式端口

vim/etc/vsftpd/vsftpd.conf

anonymous_enable=YES             --开启匿名用户访问

anon_upload_enable=YES             --匿名用户名可以上传文件

anon_mkdir_write_enable=YES       --匿名用户可以创建文件
anon_other_write_enable=YES        --匿名用户可以重命名文件

 

pasv_enable=YES                       --开启被动模式
pasv_min_port=30000                   --被动模式最小端口
pasv_max_port=31000                 --被动模式最大端口

3.加载ftp模块

vim/etc/modprobe.d/vsftpd.conf

aliasip_conntrack ip_conntrack_ftp ip_nat_ftp    --加载ftp模块

vim/etc/rc.local

/sbin/modprobeip_conntrack                --开机加载模块
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

4.端口过滤

vim/etc/sysconfig/iptables

-A INPUT -ptcp -m multiport --dport 20,21  -m state --state NEW -j ACCEPT  --开启20,21端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT           --开启21主动端口
-A INPUT -p tcp --dport 30000:31000 -j ACCEPT           --开启被动端口

5.登陆测试

 

查看端口信息

sudo netstat -na --ip 

 

# 查看哪些进程打开了指定端口port(对于守护进程必须以root用户执行才能查看到)
lsof -i:port


# 查看哪些进程打开了指定端口port,最后一列是进程ID(此方法对于守护进程作用不大)
netstat -nap|grep port


# 查看端口号对应的系统服务名称
cat /etc/services


# 启动|停止|重启系统服务
sudo /etc/init.d/service start|stop|restart