CentOS7搭建FTP服务器

linux 专栏收录该内容
7 篇文章 0 订阅

CentOS7搭建FTP服务器


以下操作均要以ROOT身份进行。

一、设置用户账号。

#创建用于登陆的FTP的账号

useradd myftp -s /sbin/nologin -U

#修改myftp密码

passwd myftp


二、修改vsftpd的主要配置文件。

#修改/etc/vsftpd/vsftpd.conf 文件,确认以下内容是否一致:

#允许用账号密码的方式登陆

local_enable=YES

#允许文件的写入操作

write_enable=YES

#连接的超时时间设定

idle_session_timeout=600

data_connection_timeout=120

#所有登陆的用户都作为nobody身份,更安全。

nopriv_user=nobody


#以下内容默认是没有,添加进vsftpd.conf 文件的最后

#使用被动模式连接
pasv_enable=YES

#被动模式超时时间
accept_timeout=60

#被动模式所使用的端口范围
pasv_min_port=65400
pasv_max_port=65410

#启动并指定开放的用户列表
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#监听的端口
listen_port=21
listen=YES
#开放用户账号登陆
guest_enable=YES
guest_username=ftp

#限制用户的上传下载速度,0为不限制,单位: bytes/秒
local_max_rate=0

#限制登陆用户的到默认的位置,默认为/var/ftp文件夹
chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#进入文件夹后提示的欢迎内容,如果没有/etc/vsftpd/welcome.txt这个文件就自己新建一个,随便写点东西进去。
dirmessage_enable=YES

banner_file=/etc/vsftpd/welcome.txt
#使用pam托管的账号
pam_service_name=vsftpd
#允许上传等写入操作

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


三、创建必须的文件

检查下/etc/vsftpd/目录里是否有以下3个文件,如果没有就建个空的。

chroot_list 这个一般是没有的,建个空的吧

user_list 这个一般默认就存在,里面存放允许登陆的账号,一行一个账号名,如果不想让某个账号登陆ftp,那么这里就别填那个账号进来。

ftpusers 这个一般默认就存在,里面存放禁止登陆的账号,一行一个账号名。

PS:user_list和ftpusers功能差不多的,可以只用user_list 这个来管理,把 ftpusers 里面内容都删掉。

四、允许第一步创建的账号名myftp登陆。

/etc/vsftpd/user_list 添加一行内容是myftp

查验一下/etc/vsftpd/ftpusers是否有myftp,如果有,就要删掉,不然就被禁止登陆了。

五、创建用于ftp的文件夹

mkdir -p /var/ftp

六、创建允许ftp用户操作的文件夹

mkdir -p /var/ftp/share

chmod 777 /var/ftp/share

七、防火墙开放相关的端口,并重启防火墙,输入以下指令,一行一行运行:

firewall-cmd --permanent --zone=public --add-port=20/tcp

firewall-cmd --permanent --zone=public --add-port=21/tcp

firewall-cmd --permanent --zone=public --add-port=65400-65410/tcp

firewall-cmd --permanent --zone=trusted --add-port=20/tcp

firewall-cmd --permanent --zone=trusted --add-port=21/tcp

firewall-cmd --permanent --zone=trusted --add-port=65400-65410/tcp

systemctl restart firewalld.service

#可以通过以下指定查看端口是否已添加进去

firewall-cmd --zone=public --list-ports

firewall-cmd --zone=trusted --list-ports

八、selinux开放相关权限,并重启selinux

setsebool -P ftpd_full_access 1

setenforce 0

setenforce 1

#可以通过以下指令查看ftpd_full_access 是否为ON状态

getsebool -a|grep ftpd_full_access

九、启动ftp服务

systemctl restart vsftpd.service

#如果想开机启动ftp还要运行以下指令:

systemctl enable vsftpd.service

十、现在可以尝试用ftp账号登陆了,可以参考下图,登陆时间可能需要几秒,如果登陆不了就重启服务器再试下吧。




  • 2
    点赞
  • 1
    评论
  • 33
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值