摘要
FTP用途广泛,很多服务器都有开启FTP做服务器的需求,当然可以考虑SFTP/SMB之类的更好了,此次部署是在Cent7OS
下部署,整理下说不定什么时候搭建古老FTP的时候可以用。
正文
一、检查是否是Centos7操作系统。
如果不是请前往轻量应用服务器控制台重装系统。
二、安装
vsftpd安装并启动
代码语言:javascript复制sudo yum -y install vsftpd db4 db4-utils
sudo systemctl start vsftpd
Cent7开启防火墙相关的防火墙设置
代码语言:javascript复制# Cent7OS已经标配Firewalld,如果是iPtables请自行开放端口
sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
如果端口一直没有开放,请前往轻量应用服务器控制台查看安全组是否开放对应端口,我的服务器是开放所有端口的,所有不用担心端口不通的情况。
三、配置
修改vsftpd基础配置文件
需要修改的配置文件位于/etc/vsftpd/vsftpd.conf
,配置文件参考如下
...
anonymous_enable=NO # 不允许匿名访问
chroot_local_user=YES # 启用限定用户在其主目录下
use_localtime=YES # 使用本地时(自行添加)
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
local_umask=022 # 设置本地用户默认文件掩码022
write_enable=YES # 允许用户写入
chroot_local_user=NO # 不允许户切换目录
chroot_list_enable=YES # 允许使用用户清单文件
chroot_list_file=/etc/vsftpd/chroot_list/ # 虚拟用户清单文件夹位置
创建用户数据库
编辑一个文件vim /etc/vsftpd/virtual_user_passwd.txt
,存放FTP用户密码,奇数行用户,偶数行密码
chancel
chancel_password
生成FTP的用户数据库
代码语言:javascript复制db_load -T -t hash -f /etc/vsftpd/virtual_user_passwd.txt /etc/vsftpd/virtual_user_passwd.db
编辑配置文件 sudo vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/virtual_user_passwd.db
account required pam_userdb.so db=/etc/vsftpd/virtual_user_passwd.db
为用户创建配置文件
创建 vsftpd.conf中chroot_list_file指明的文件夹, sudo mkdor /etc/vsftpd/chroot_list/
接着创建FTP用户名的文件,这个文件即是FTP用户的配置文件,参考如下
代码语言:javascript复制local_root=[用户目录]
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
最终重启你的FTP服务器即可 sudo systemctl start vsftpd
拓展
如果你有安装宝塔面板,它是默认需要安装了FTB的,你可以直接在上面操作。
完结
以上就是所有关于搭建FTP服务器简易指南的内容,欢迎小伙伴们交流讨论。