CentOS7环境下搭建ftp服务器

一. 安装

查看是否安装ftp rpm -qa | grep vsftpd
安装ftp yum -y install vsftpd

启动 /bin/systemctl start vsftpd.service
重启 /bin/systemctl restart vsftpd.service
查看状态 /bin/systemctl status vsftpd.service
开机自启chkconfig vsftpd on

取消匿名登录 vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES,改为NO

创建ftp用户组 groupadd ftpgroups

创建ftp用户,并加入ftpgroups组,/home/ftp是自己建的目录,不存在就自己创建
useradd -d /home/ftp -g ftpgroups ftptest(用户名)

限定用户ftptest不能telnet,只能ftp usermod -s /sbin/nologin ftptest
用户test恢复正常 usermod -s /sbin/bash ftptest

更改用户的主目录为/home/ftp/test
usermod -d /home/ftp/test ftptest
设置用户密码 passwd ftptest
二. 修改配置文件

(1)vi /etc/selinux/config
SELINUX=enforcing 设置成SELINUX=disabled
刷新 source /etc/selinux/config
(2)vim /etc/vsftpd/user_list 禁止登录用户配置文件
如果要登录的用户在里面,删除此用户
(3)vim /etc/vsftpd/vsftpd.conf

增加以下三行

#不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

allow_writeable_chroot=YES 
anon_upload_enable=YES
anon_mkdir_write_enable=YES

(4)vi /etc/sysconfig/iptables-config
添加下面一行IPTABLES_MODULES="ip_conntrack_ftp"

(5)修改pam配置文件(如不修改会出现503的登录错误)

vim /etc/pam.d/vsftpd

注释以下一行

#auth       required    pam_shells.so

 

三. 修改FTP端口

vi /etc/vsftpd/vsftpd.conf
在原来的基础上加上:
listen_port=10021

#被动模式
pasv_enable=YES

#下面两个是与passive mode 使用的 port number 有关,如果您想要使用10221 到10231 这几个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=65400
pasv_max_port=65410

四.测试

(1). 重启vsftp服务

systemctl restart vsftpd.service 或者service vsftpd restart

(2). 使用fileZilla连接FTP服务器(如果开启了被动模式,需要设置fileZilla的连接模式)

CentOS7环境下搭建ftp服务器

CentOS7环境下搭建ftp服务器

 

 

至此,centos7 FTP服务搭建完成!

上一篇:NTFS格式U盘挂载到服务器


下一篇:搭建vsftpd服务并实现本地用户访问