ftp服务器架设教程ftp服务器架设教程详解
FTP服务器是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。FTP是FileTransferProtocol。顾名思义,就是专门用来传输文件的协议。
在当下这个网盘到处限速收费的情况下,自己搭建一个FTP服务器,也是一个不错的选择。
1、搭建环境
阿里云服务器:ubuntu1604/1804
2、安装ftp服务器工具
安装vsftpd
sudoapt-getupdate
sudoapt-getinstallvsftpd
设置成开机服务
systemctlenablevsftpdservice
启动ftp服务
systemctlstartvsftpdservice
运行命令,查看ftp服务的端口号
netstat-antup|grepftp
3、参数配置
配置文件路径:
/etc/vsftpdconf
基本配置如下:
#禁止匿名用户登录
anonymous_enable=NO
#允许系统用户登录
local_enable=YES
#启用可以修改文件的FTP命令
write_enable=YES
#本地用户创建文件的umask值
local_umask=022
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#开启日记功能
xferlog_enable=YES
#使用标准的20端口来连接ftp
connect_from_port_20=YES
#使用标准日志格式
xferlog_std_format=YES
#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
#指定限制的用户文件
chroot_list_file=/etc/vsftpd/chroot_list
#ftp服务器将处于独立启动模式
listen=YES
#设置一个本地用户登录后进入到的目录
local_root=/home/ftp
#设置PAM认证服务的配置文件名称,该文件保存在“/etc/pamd/”目录下
pam_service_name=vsftpd
#ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
#只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
#定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users
#ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
#连接ftp服务费使用的端口
listen_port=21
如需开启被动模式,增加如下配置参数
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
因为ftp服务器是搭建在阿里云上的,所以要根据以上配置设置下安全组规则,开启20/21;50000/50010的端口。
allowed_userschroot_list文件配置
在/etc/vsftpd下,创建两个文件,没有文件夹的创建该文件夹
1)allowed_users是允许的用户文件,允许的用户,把账户名写入即可
2)chroot_list是限制的用户文件,没有限制的,保留空文件即可
配置完成后重启ftp服务
sudosystemctlrestartvsftpdservice
查看服务器运行状态
sudosystemctlstatusvsftpdservice
这样ftp服务器就配置好了,用工具登陆试下
4、可能的错误如下
如果在启动ftp服务时,出现如下错误
关闭配置/etc/vsftpdconf中ipv6设置再重启服务即可
listen_ipv6=NO
华为交换机如何配置FTP上传文件?
交换机的主要功能包括物理寻址、网络拓扑、错误检查、帧序列和流量控制。交换机还具有一些新的功能,如VLAN(虚拟局域网)支持、链路聚合支持,甚至有些还具有防火墙的功能。华为Exchange可以上传bin文件或者zip文件或者。cc文件带FTP功能,但需要自己配置。下面来看看详细教程,有需要的朋友可以参考一下。方法步骤
1请自行准备华为交换机和电脑,连接电脑和交换机,无论是telnet还是终端都可以。
2首先,你需要在[Quidway]下启动ftp服务。
[Quidway]ftpserver启用
3然后进入aaa模式。
aaa
4然后设置管理员密码。
[Quidway-AAA]本地用户管理员密码简单1qaz2wsx
[Quidway-AAA]本地用户管理员密码1qaz2wsx
根据交换机的不同,上述命令可能会有所不同。
5然后设置登录权限。
[魁地奇-AAA]本地用户管理权限级别15
6然后设置ftp主目录。
[Quidway-AAA]local-useradminFTP-directoryflash:
7接下来,设置登录类型
[Quidway-aaa]local-useradmin服务类型telnet终端http
这里必须设置的是ftp。其他选项是可选的。
8进入身份验证配置模式。
[Quidway]用户界面vty04
9设置aaa认证
[Quidway-ui-vty0-4]认证模式aaa
10以上操作完成后,交换机上的操作就结束了。
1接下来,我们转到PC,在cmd下运行ftpipaddress来访问您的交换机。
12提示输入账号。
13然后输入密码。
14登录后使用dir查看文件。
15这里我们想下载一个zip文件;也可以下载其他文件,下载文件使用,get文件名,文件会下载到用户在电脑上的主目录。
16如果要上传文件,请使用put命令。
放G:1zip
上传从g盘下载的111zip文件。
17上传完成后,我们等交换机看了一下,上传的文件已经在交换机上了。
补充:开关的基本使用方法
用作基本核心交换机,连接多个有线设备:网络结构如下图所示。基本连接请参考上面的方法/步骤1:基本连接模式
ftp怎么上传文件到服务器上?
ftp是文件传输协议,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体操作需要安装一个方便操作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行双向传输(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp服务器地址,然后输入用户名和密码。
windowsxp怎么用FTP传文件?
通过资源管理器或浏览器或FTP客户端传输文件。
笔记本怎么在ftp上上传文件?
1、打开“计算机”,在最上方输入栏中输入登陆FTP服务器命令(ftp://ip地址),然后按回车。
2、在弹出“登陆界面”后输入登录账户和密码,点击“登录”。
3、如果账号密码核对成功,就会进入FTP服务器上目录列表,如果该账号权限足够大就可以上传文件到FTP服务器中了。
求教百度云怎样用FTP上传文件?
得先看看百度云是否支持FTP协议。可以下载百度云管家,注册个账号就方便了。
如何在FTP服务器上上传视频文件?
地址栏输入ftp://服务器地址会弹出一个要求输入用户名和密码的窗口,登陆完成就和在你的电脑资源管理器一样操作就可以了。
FileZilla(教程)是经典的开源FTP解决方案,包括FileZilla客户端和FileZilla Server。其中,FileZilla Server的功能比起商业软件FTP Serv-U毫不逊色。FileZilla Server几乎无用户数限制;多线程引擎;在 Windows NT4、2000、XP下以服务形式运行;针对 fxp/反弹攻击过滤;安全密码储存 (使用 MD5 hash);实时对用户/组进行管理;所有选项可以在服务器在线时改变,无需服务器下线;传输超时功能可以踢掉使用普通工具保持一直在线的空闲用户;基于设置规则的服务器和用户/组速度限制;支持 MODE Z 文件传输压缩。
由于FTP是专门的文件传输协议,所以用它来上传下载文件最可靠,并且权限、速度也可以灵活设置。我开FTP主要是偶尔与别人共享文件,或远程处理另一台计算机上的文件。
FileZilla既有客户端,也有server。我用FTP并不多,所以client我就用IE或Total Commander;而只用FileZilla Server。
安装FileZilla Server
安装组件:
请接受默认选择,如下图。
第1项相当于主程序,一定要;
第2项是配置界面(即用户/目录/权限),也要。除非你愿意研究并手写xml文件。
安装方式:
依次是
q 将FileZilla Server作为服务安装,并随Windows系统启动
q 将FileZilla Server作为服务安装,但手动启动
q 不将FileZilla Server作为服务安装,自动启动(不推荐)
我因为是偶尔才开FTP,所以选了第2项。
此后还会问管理界面如何启动。如果服务器选了手工启动,管理界面自然也是手工启动。
安装成功
安装后有如下文件:
运行FileZilla Server
双击FileZilla serverexe,询问如下,点击是。
这时并无任何界面,因为它是在后台运行的。按ctrl+shift+esc,可看到如下图所示,它占内存并不多,不到3MB。
7 设置FileZilla Server
运行FileZilla Server Interfaceexe,界面如下,确认。
然后看到程序的主界面如下图:
点击图标或菜单 Edit-users,进入如下界面,建立用户,并设密码:
为此用户建立可访问的目录,如下:
此时,就可以用FTP客户端(如FileZilla、Total Commander、甚至是IE)访问FTP了。下图是IE访问的截屏。(访问过程中可能询问用户名密码,填入相关信息即可,见图):
8 觉得FileZilla 还不够简单
如果认为FileZilla有些复杂,可试用更加简单1exe的 TYPsoft FTP Server,参见 TYPSoft FTP Server:小巧多能的免费FTP服务器。另外,Cerberus FTP Server也是免费FTP服务器中的精品,而CesarFTP/ACFile Server则更加小巧。
Linux VPS用户一般都通过SFTP/SCP协议连接OpenSSH Server进行文件传输,但有时候,你希望某些用户只能上传文件到网站目录,而不能够登录系统执行命令以及访问其他目录,这时用FTP Server就能很好地实现Linux上常用的FTP Server有VSFTPD和ProFTPD,其中ProFTPD简单易用,功能也不错,这里以ProFTPD为例搭建FTP服务器当然,FTP也可以作为局域网内文件共享的一种方式,比如你的室友使用Windows,向你的Ubuntu ProFTPD个人电脑上传了一部影片,这样就不用拿U盘去拷贝了,其他室友也可以从你的ProFTPD上下载影片
proftpd的配置方式类似apache,比vsftpd更易用,xampp就集成了proftpd
代码如下:
sudo apt-get install proftpd-basic安装时默认作为一个standalone server运行proftpd,如果每天的ftp请求量少,可以安装为inetd服务,节省服务器资源
这里我使用默认值,安装为standalone server
代码如下:
sudo netstat -antp|grep proftpd查看proftpd监听的21端口
用proftpd提供的ftpasswd新建虚拟用户test并设置密码:
代码如下:
sudo mkdir -p /png/proftpd代码如下:
sudo ftpasswd \--passwd \
--file=/png/proftpd/passwd \
--name=test \
--uid=122 \
--gid=65534 \
--home=/srv/ftp \
--shell=/bin/false
其中uid和gid我使用的是安装proftpd时自动创建的系统用户ftp:nogroup的uid和gid,执行cat /etc/passwd|grep ftp可见
/srv/ftp是安装proftpd时自动创建的目录,所有者为ftp:nogroup,权限为755
这样虚拟用户test以系统用户ftp:nogroup登录/srv/ftp便可以对该目录进行读写
Linux上的FTP Server的读写权限是映射到系统UGO(User Group Other)上的
创建虚拟用户时通过设置系统用户uid和gid,以及合理地配置/srv/ftp目录及其文件权限来实现读写控制
创建新用户时再次执行上述命令即可,根据需要改变一些参数
比如我创建了一个以uid:gid为1000:1000的系统用户运行,登录目录为/png/www/examplecom的虚拟用户eechen:
代码如下:
sudo ftpasswd \--passwd \
--file=/png/proftpd/passwd \
--name=eechen \
--uid=1000 \
--gid=1000 \
--home=/png/www/examplecom \
--shell=/bin/false
创建用户不需要重载proftpd,因为proftpd每次认证时都会读取认证文件
代码如下:
sudo chown proftpd:nogroup /png/proftpd/passwd 设置passwd文件读写权限,确保proftpd能读取该文件代码如下:
sudo nano /etc/proftpd/proftpdconf在末尾加入:
代码如下:
DefaultRoot ~ #将用户限定在自己的目录中,上面test用户对应的就是/srv/ftpRequireValidShell off #禁用Shell请求认证
AuthOrder mod_auth_filec #认证方式顺序,这里采用文件认证
AuthUserFile /png/proftpd/passwd #存放用户名和密码的文件
代码如下:
sudo service proftpd reload重载使配置生效。
更改proftpd的默认端口
在文件/etc/proftpdconf找到:
代码如下:
Port 21更改为:
代码如下:
Port 2121如果开启了iptables,iptables限制了所有的出站端口,加载模块ip_conntrack_ftp,这时在加载ip_conntrack_ftp模块时需要更改代理端口为2121。
打开/etc/sysconfig/iptables-config,保证此文件定义加载了ip_conntrack_ftp,如:
代码如下:
IPTABLES_MODULES="ip_conntrack_ftp"然后在文件/etc/modprobeconf增加此模块的参数:
代码如下:
options ip_conntrack_ftp ports=2121如果需要手动加载,则可以执行以下命令:
代码如下:
/sbin/modprobe ip_conntrack_ftp ports=2121安装:
安装EPEL软件包
代码如下:
rpm -Uvh http://downloadfedoraredhatcom/pub/epel/5/i386/epel-release-5-4noarchrpmYUM安装ProFTPd
代码如下:
yum install proftpdPS:编译安装ProFTPd的方法
代码如下:
wget ftp://ftp-studfht-esslingende/pub/Mirrors/ftpproftpdnet/distrib/source/proftpd-131targztar xzvf proftpd-131targz
cd proftpd-131
/configure --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql \
--with-includes=/usr/include/mysql \
--with-libraries=/usr/lib/mysql
make make install
设置开机启动
代码如下:
chkconfig --level 3 proftpd onProFTPd管理:
启动
代码如下:
proftpd:service proftpd start停止
代码如下:
proftpd:service proftpd stop重启
代码如下:
proftpd:service proftpd restart重载
代码如下:
proftpd:service proftpd reload配置文件/etc/proftpdconf,可以通过proftpd -t6指令检测语法是否正确。
添加ftp用户和用户组
代码如下:
groupadd -g 5500 ftpgroupadduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
添加虚拟用户
首先我们需要设置配置文件/etc/proftpdconf。
添加下面代码进配置文件:
代码如下:
AuthUserFile /etc/ftpdpasswdAuthGroupFile /etc/ftpdgroup
关闭检测/etc/shells:
代码如下:
RequireValidShell off设置仅使用虚拟用户认证:
代码如下:
AuthOrder mod_auth_filec禁止PAM认证:
代码如下:
PersistentPasswd offAuthPAM off
限制改变根目录:
代码如下:
DefaulRoot ~按照上面的要求设置好配置文件后,我们使用ftpasswd工具来添加虚拟用户,首先下载这个工具。
代码如下:
cd /usr/sbin/wget http://wwwcastagliaorg/proftpd/contrib/ftpasswd
chmod +x ftpasswd
ftpasswd工具的格式如下:
代码如下:
# ftpasswd --passwd --name {username} --file /etc/ftpdpasswd --uid {5000} --gid {5000} --home /var/ftp/username-home/ --shell /bin/false# ftpasswd --group --name group1 file /etc/ftpdgroup --gid 5000 --member username
0条评论