作者:E4b9a6, 创建:2020-08-10, 字数:1544, 已阅:883, 最后更新:2024-03-10
FTP是用途广泛的文件服务器程序之一,下面将实践如何在Cent7OS
下搭建FTP服务器
vsftpd安装并启动
sudo yum update
sudo yum -y install vsftpd db4 db4-utils
sudo systemctl start vsftpd
防火墙放行ftp服务
sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
修改/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/ # 虚拟用户清单文件夹位置
...
# 用户数据库,将在接下来的步骤中创建
auth required pam_userdb.so db=/etc/vsftpd/virtual_user_passwd.db
account required pam_userdb.so db=/etc/vsftpd/virtual_user_passwd.db
编辑文件/etc/vsftpd/virtual_user_passwd.txt
,一行用户一行密码,这里假设创建用户`chancel``
chancel
chancel_password
将账户密码转换成db文件
db_load -T -t hash -f /etc/vsftpd/virtual_user_passwd.txt /etc/vsftpd/virtual_user_passwd.db
编辑/etc/vsftpd/chroot_list/chancel
,参考用户配置如下
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