公网ftp服务器 注意事项及安装
linux的ftp服务器是靠vsftpd,ftp有主动和被动两种模式 **主动模式:**client和server建立连接后,client会给server一个端口,server主动去连接client,通过这个端口向client传输数据,问题:client防火墙原因,可能导致server无法向client传输数据。
被动模式:为了解决主动模式下的连接问题,出现了被动模式(PASV),只有client告诉server自己是被动模式时才启用。原理:client与server建立连接,并告知server自己是被动模式,server会为其提供一个非特权端口,该端口来进行数据传输。
文件上传还需要给指定目录给指定用户指定权限(读/写/删权限) 命令(给abc目录最高权限):
sudo chmod -R 777 abc
服务器在公网,在/etc/vsftpd.conf配置中 需要注意的是:
#ftp服务器公网地址,被动模式下,如果不设置,将会指定该服务器的局域网地址,导致数据传输失败(主动模式下没有这个问题) pasv_address=13.231.169.195 #写入权限(vsftpd默认不开启文件上传权限,需要手动开启) write_enable=YES #设置客户端访问端口区间,随机指定,这是最大值(客户端与服务器会在这个随机端口上传输数据) pasv_max_port=6666 #设置客户端访问端口区间,随机指定,这是最小值(客户端与服务器会在这个随机端口上传输数据) pasv_min_port=5555 #若是不使用21端口建立连接,加上此配置,配置vsftpd占用的端口 listen_port=8021
修改端口(第二步): 若是不用21端口,除了在vsftpd.conf中设置listen_port外还需要在/etc/services中 修改ftp和fsp(8021是我设置的vsftpd端口)
ftp 8021/tcp fsp 8021/udp fspd
下面是vsftpd的安装及启动:
在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的方法。
(1)、首先用命令检查是否安装了vsftpd vsftpd -version
如果未安装用一下命令安装
sudo apt-get install vsftpd 安装完成后,再次输入vsftpd -version命令查看是否安装成功
(2)、新建一个文件夹用于FTP的工作目录
mkdir /home/ftp
(3)、新建FTP用户并设置密码以及工作目录 ftpname为你为该ftp创建的用户名
sudo useradd -d /home/ftp -s /bin/bash ftpname
为新建的用户设置密码
passwd ftpname 【注释:用cat etc/passwd可以查看当前系统用户】
(4)、修改vsftpd配置文件 用命令打开vsftpd.conf
vi vsftpd.conf 设置属性值 anonymous_enable=NO #禁止匿名访问 local_enable=YES write_enable =YES 保存返回 (5)、启动vsftpd服务
service vsftpd start (6)、在资源管理器,或者浏览器中ftp服务器 () 输入账号,密码登录即可