Linux 搭建 FTP 服务器

avatar
作者
筋斗云
阅读量:0

Linux 搭建 FTP 服务器

vsFTPd(very secure FTP daemon)是一个功能强大的 FTP服 务器,能运行在大部分UNIX 类作系统上,支持很多其他的FTP 服务器不支持的特征:

  • 支持虚拟IP、支持虚拟用户 、可以独立操作(stand-alone)或者由 xinetd 两种模式管理 、 可以对每个用户进行配置 、 带宽限制 、支持IPv6 、支持通过SSL的加密

本文介绍在 CentOS7(Linux)系统下,快速搭建独立守护线程模式(stand-alone)下工作的 FTP 服务器

一、安装软件包

yum install -y vsftpd ftp 

安装后默认会创建一个名为 ftp 用户,home目录为: /var/ftp ,默认同时监听IPv6、IPv4,端口 21 , 配置文件目录:/etc/vsftpd

在这里插入图片描述

二、更改配置文件

更改配置文件,使 FTP 服务器的工作在独立守护进程模式下,只需更改 /etc/vsftpd/vsftpd.conf 一个文件即可配置成功,执行如下命令修改:

sed -i 's/^listen=.*$/listen=YES/g' /etc/vsftpd/vsftpd.conf sed -i 's/^listen_ipv6=.*$/listen_ipv6=NO/g' /etc/vsftpd/vsftpd.conf 

在这里插入图片描述

三、启动 FTP 服务器

启动vsftpd服务,并设置其在系统启动时自动启用。

systemctl start  vsftpd systemctl enable vsftpd 

查看 FTP 是否工作。

#查看进程 ps -ef | grep vsftpd #查看 21 端口 netstat -ntlp | grep 21 

在这里插入图片描述

如果没有对应信息,则再启动一次

sudo service vsftpd start 

四、配置文件内容说明

为更好配置自己的 FTP 服务器,下面介绍 FTP 服务器在独立守护进程模式下配置文件内容,文件路径 /etc/vsftpd,一共三个文件

  • vsftpd.conf:vsFTPd的主配置文件

    anonymous_enable=YES      #允许匿名登录 local_enable=YES          #允许本地用户登录 write_enable=YES          #开放本地用户的写权限 local_umask=022           #指定目录和文件被创建时得到的初始权限 dirmessage_enable=YES     #当切换目录时,显示该目录的信息。 xferlog_enable=YES        #记录ftp上传下载的日志记录 connect_from_port_20=YES  #指定是否支持PORT模式 xferlog_std_format=YES    #传输日志文件将以标准格式写入 listen=NO                 #是否使用IPv4的stand-alone模式 listen_ipv6=YES           #是否同时监听IPv6跟IPv4,不能跟listen同时打开 pam_service_name=vsftpd   #指定vsftpd将使用的PAM服务的名称 userlist_enable=YES       #从userlist_file给出的文件名加载用户名列表  userlist_enable=YES #用法:YES/NO 默认为YES #若是启动此功能,则会读取/etc/vsftpd.user_list 当中的使用者名称,只有出现在文件中的用户名才能登录ftp。此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序  userlist_deny=NO #用法:YES/NO  默认为NO #这个选项只有在userlist_enable 启动时才会被检验如果将这个选项设为YES,则在 /etc/vsftpd.user_list 中的使用者将无法登入。若设为NO , 则只有在/etc/vsftpd.user_list 中的使用者才能登入。此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程序  #对于后两个参数的联合用法总结如下: #1.限制指定的本地用户不能访问,而其它本地用户可以访问 # userlist_enable= YES # userlist_deny= YES # userlist_file= /etc/vsftpd.user_list  #2. 限制指定的本地用户可以访问,而其它本地用户不可以访问 # userlist_enable= YES # userlist_deny= NO # userlist_file= /etc/vsftpd.user_list 
  • ftpusers : vsFTPd的访问控制

    无论何时都禁止该文件中的本地用户访问服务器。如果用户名在这个 /etc/vsftpd.ftpusers 列表中,它就不能通过网络进行FTP登录。

  • user_list: 允许/禁止用户列表

在默认情况下,FTP 服务器允许:

  1. 能进入登录用户的Home目录
  2. 能切换到其他可访问的用户
  3. 可访问,可下载
  4. 可上传,可创建目录
  5. 可匿名登录,默认目录为用户ftp的home目录
  6. 所有Linux用户都可以访问

五、FTP 常见命令详解

参考文章:
FTP 常见命令详解

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!