Linux-ftp服务搭建

Posted YJ.li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-ftp服务搭建相关的知识,希望对你有一定的参考价值。

云服务器ESC 部署vsftpd服务

推荐一款ftp客户端工具:iis7服务器管理工具
IIs7服务器管理工具可以批量管理ftp站点,同时具备定时上传下载的功能。
作为服务器集成管理器,它最优秀的功能就是批量管理windows与linux系统服务器、vps。能极大的提高站长及服务器运维人员工作效率。同时iis7服务器管理工具还是vnc客户端,服务器真正实现了一站式管理,可谓是非常方便。
下载地址:http://yczm.iis7.com/?tscc
使用截图如下:

 

 

记一次ftp服务搭建的采坑过程,这个坑一直卡了很久时间,都给忘记了。最近由于公司项目需要部署FTP,经过各种采坑,终于把这个坑给填上了。废话不多说,开干

环境说明:阿里云服务器(centos6系统)

1)安装 vsftpd 服务

# yum install vsftpd -y

配置文件说明

/etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置文件。
/etc/vsftpd/ftpusers    是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list   是白名单文件,此文件里的用户允许访问 FTP 服务器。

2)配置 vsftpd

vsftpd 安装后默认开启了匿名访问 FTP 服务器的功能,使用匿名用户访问,无需输入用户名和密码即可登录 FTP 服务,但是没有权限修改或上传文件。

此处我配置本地用户登录

本地用户登录是指用户使用 Linux 操作系统的账号和密码登录 FTP 服务器。

  1. 创建一个测试账号 ftptest 并设置一个密码
    # useradd ftptest
    # echo "ftptest@123" |passwd --stdin ftptest
  2. 创建一个供 FTP 服务使用的文件目录
    # mkdir /var/ftp/test
  3. 更改 /var/ftp/test 目录的拥有者为 ftptest
    # chown ftptest:ftptest /var/ftp/test -R
  4. 修改配置文件前先进行备份一下
    # cp /etc/vsftpd/vsftpd.conf{,.bak}
  5. 修改 vsftpd.conf 配置文件。(此处先使用被动模式)
    #禁止匿名登录FTP服务器
    anonymous_enable=NO
    #允许本地用户登录FTP服务器
    local_enable=YES
    #设置本地用户登录后所在目录
    local_root=/var/ftp/test
    #全部用户被限制在主目录 chroot_local_user=YES#开启被动模式 pasv_enable=YES #FTP服务器公网IP(也就是当前阿里云服务器的公网 IP) pasv_address=120.xx.xx.xx #设置被动模式下,建立数据传输可使用port范围的最小值 pasv_min_port=10000 #设置被动模式下,建立数据传输可使用port范围的最大值 pasv_max_port=10088 #本地用户上传文件的umask local_umask=022 #是否在进入新目录时显示 message_file 文件中的内容 dirmessage_enable=YES #启用日志 xferlog_enable=YES #日志是否进行格式化 xferlog_std_format=YES #独立服务 listen=YES #centos7增加此设置,开启后默认监控ipv4和ipv6 listen_ipv6=NO #认证模式 pam_service_name=vsftpd #启用用户列表 userlist_enable=YES #可以上传(全局控制) write_enable=YES #允许下载 download_enable=YES
  6. 启动 vsftpd
    # service vsftpd start

3)设置安全组规则(这里很关键)由于上面是被动模式,所以添加端口时包含了 默认端口21,还有配置文件中参数pasv_min_port和pasv_max_port之间的所有端口。如图:

4)测试,我们先在linux上面测试,再在浏览器上面测试,再在windows的文件夹测试

    1、Linux 上测试 ftp IP

[root@srt_aliyun_39 ~]# ftp 120.xx.xx.xx
Connected to 120.xx.xx.xx (120.xx.xx.xx).
220 (vsFTPd 2.2.2)
Name (120.79.93.66:root): ftptest
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (120,xx,xx,xx,xx,81).
150 Here comes the directory listing.
226 Directory send OK.
ftp> pwd
257 "/var/ftp/test"
ftp> mkdir testdir
257 "/var/ftp/test/testdir" created
ftp> ls
227 Entering Passive Mode (120,xx,xx,xx,39,43).
150 Here comes the directory listing.
drwxr-xr-x    2 505      505          4096 Apr 12 10:00 testdir
226 Directory send OK.

可以看到在linux 上面测试没有问题,可以正常访问,并创建文件夹等。 

    2、浏览器上测试 ftp://ip

可以看到在浏览器上面测试也是ok,不过浏览器上面只能查看,和下载 不能上传。可以看到在Linux上测试时创建的那个目录

    3、在windows上通过文件夹访问测试(说明:这里就得配置配置了,不然会报各种各样的错,因为我们服务器使用的是被动模式,那么同样的道理,客户端也得使用被动模式去连接服务端。) ftp://ip

    选择 控制面板 > 网络和Internet > Internet 选项 > 高级 。勾选 启用 FTP 文件夹视图,勾选 使用被动 FTP。

 

可以看到 进去后默认同样看到了在linux上面创建的 testdir目录, 并且还新建了一个windir目录。

    4、再次回到服务器查看,也可以看到上面测试创建的文件,被动模式就OK了。

# ls /var/ftp/test/
testdir  windir

 

 

以上是关于Linux-ftp服务搭建的主要内容,如果未能解决你的问题,请参考以下文章

Linux-FTP

linux-ftp install

node 环境下简单web服务器搭建代码

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

代码片段 - Golang 实现简单的 Web 服务器

从片段调用 Google Play 游戏服务