CentOS7 搭建FTP服务器

本文来记录一下自己的虚拟机CentOS7搭建FTP服务器的过程

用到了vsftpd,如果没有需要安装
在开始搭建FTP服务器之前,首先要确保本地和服务器网络是通的,我测试的
本地IP:192.168.1.5 (Windows系统IP)
远程IP:192.168.1.7 (虚拟机IP)

1、本机虚拟机系统

[root@centos7 pub]# uname -a
Linux centos7.5 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2、查询本机是否安装了vsftpd

[root@centos7 pub]# rpm -qa | grep vsftpd
vsftpd-3.0.2-22.el7.x86_64

我这里开始是没有安装的,现在已经安装了,如果没有安装使用yum 安装

[root@centos7 pub]# yum install -y vsftpd

3、安装完成后可以进到vsftp目录下进行配置

[root@centos7 pub]# cd /etc/vsftpd/
[root@centos7 vsftpd]# ll
总用量 28
-rw-------. 1 root root  125 8月   3 2017 ftpusers
-rw-------. 1 root root  361 8月   3 2017 user_list
-rw-------. 1 root root 5029 10月 25 13:56 vsftpd.conf
-rwxr--r--. 1 root root  338 8月   3 2017 vsftpd_conf_migrate.sh
[root@centos7 vsftpd]# 

简单介绍一下目录中的几个重要文件
ftpuser 记录不允许访问FTP 服务器的用户列表
user_list 记录允许访问FTP服务器的用户列表
vsftpd.conf 配置文件,主要配置都在这个文件里面
其实这几个文件我也没有修改什么内容,还是不太懂不知道怎么修改,这算是留个后面的一个疑问吧。
4、创建ftp用户

[root@centos7 vsftpd]# useradd ftp -d /var/ftp/pub/ -s /sbin/nologin 
useradd:用户“ftp”已存在
[root@centos7 vsftpd]# passwd ftp 
更改用户 ftp 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@centos7 vsftpd]# useradd test -d /var/ftp/pub/ -s /sbin/nologin
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@centos7 vsftpd]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@centos7 vsftpd]# 

我这里创建了2个测试用的用户。
5、关闭防火墙(可选)

[root@centos7 vsftpd]# systemctl stop firewalld.service
[root@centos7 vsftpd]# 

不关闭防火墙,有可能FTP不能使用。
6、启动FTP服务

[root@centos7 vsftpd]# systemctl restart vsftpd.service
[root@centos7 vsftpd]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2018-11-01 11:32:27 CST; 3s ago
  Process: 43165 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 43166 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─43166 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

11月 01 11:32:27 centos7.5 systemd[1]: Starting Vsftpd ftp daemon...
11月 01 11:32:27 centos7.5 systemd[1]: Started Vsftpd ftp daemon.
[root@centos7 vsftpd]# 

systemctl restart vsftpd.service
因为我已经启动了,这里使用了restart
systemctl status vsftpd.service
查询ftp状态
7、指定FTP根目录的权限

[root@centos7 vsftpd]# chmod 777 /var/ftp/pub/
[root@centos7 vsftpd]# 

我是以/var/ftp/pub/目录作为FTP的根目录,可以把所以需要FTP共享的文件拷贝至该目录
8、查询开关是否打开

扫描二维码关注公众号,回复: 3933116 查看本文章
[root@centos7 vsftpd]#  getsebool -a|grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off

开始的时候我是这些开关都没有打开,FTP连接失败了,
开启这些开关,可以直接修改vsftpd.conf文件,也可以直接这样修改

[root@centos7 vsftpd]# setsebool ftpd_anon_write 1
[root@centos7 vsftpd]# setsebool ftpd_connect_all_unreserved 1
[root@centos7 vsftpd]# setsebool ftpd_connect_db 1
[root@centos7 vsftpd]# setsebool ftpd_full_access 1
[root@centos7 vsftpd]# setsebool ftpd_use_cifs 1
[root@centos7 vsftpd]# setsebool ftpd_use_fusefs 1
[root@centos7 vsftpd]# setsebool ftpd_use_nfs 1
[root@centos7 vsftpd]# setsebool ftpd_use_passive_mode 1
[root@centos7 vsftpd]# setsebool httpd_can_connect_ftp 1
[root@centos7 vsftpd]# setsebool httpd_enable_ftp_server 1
[root@centos7 vsftpd]# setsebool tftp_anon_write 1
[root@centos7 vsftpd]# setsebool tftp_home_dir 1

也可以参照下面改法

[root@localhost vsftpd]# vi vsftpd.conf     //参照下面内容修改参数
anonymous_enable=YES    //开启匿名登录
local_enable=YES    //开启本地用户登录
write_enable=YES    //本地用户写权限
local_umask=022    //上传文件后默认权限
dirmessage_enable=YES
xferlog_enable=YES    //开启下载日志
connect_from_port_20=YES    //链接端口
xferlog_std_format=YES    //标准日志格式
chroot_local_user=YES    //限制用户不能切换目录
chroot_list_enable=YES    //被限制的用户列表
chroot_list_file=/etc/vsftpd/chroot_list    //列表存放位置
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd    //服务名称
userlist_enable=YES    //启用登录用户限制
tcp_wrappers=YES
anon_root=/ftp    //匿名用户登录目录
use_localtime=YES    //使用本地时间

至此已经可以说搭建成功
9、设置FTP服务开机启动

[root@centos7 vsftpd]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@centos7 vsftpd]# 
[root@centos7 vsftpd]# ln -s '/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@centos7 vsftpd]# 

10、查看一下效果
查询服务器目录文件

[duanshao@centos7 ~]$ cd /var/ftp/pub/
[duanshao@centos7 pub]$ ll
总用量 0
-rw-r--r--. 1 root root 0 11月  1 12:02 1.txt
[duanshao@centos7 pub]$ 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shoajun_5243/article/details/83618407