Linux下搭建FTP服务器

Linux下搭建FTP服务器

本文是基于CentOS 7.3系统环境,搭建FTP服务器

  • CentOS 7.3

一、安装vsftpd服务

(1) 下载vsftpd

yum install -y vsftpd

离线环境下,可以去下载vsftpd-3.0.2-25.el7.x86_64.rpm

rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm

(2) 配置环境

  • 首先创建一个文件chroot_list,内容先不用编辑
cd /etc/vsftpd
sudo vi chroot_list
  • 编辑vsftpd.conf文件
cd /etc/vsftpd
sudo vi vsftpd.conf

编辑内容如下:

anonymous_enable=NO  #允许匿名用户访问为了安全选择关闭
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 是否允许写入
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志
xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog   #ftp日志目录
idle_session_timeout=6000 #设置客户端连接时间
data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

(3) 创建FTP用户,并加入user_list和chroot_list

useradd  ftp
passwd 123

(4) 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

(5) 将ftp指定的根目录赋权为777权限

chmod 777 /var/ftp/pub

(6) 启动ftp服务器

systemctl restart vsftpd
systemctl enable vsftpd

(7) 验证ftp服务器

通过浏览器访问ftp服务器的IP地址


你可能感兴趣的:(CentOS)