CentOS7配置VSFTP
1. 安装vsftpd
#安装vsftpd
yum install -y vsftpd
#设置开机启动
systemctl enable vsftpd.service
# 重启
systemctl restart vsftpd
# 查看vsftpd服务的状态
systemctl status vsftpd.service
2. 配置vsftpd.conf
# 备份配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# 删除原文件
rm /etc/vsftpd/vsftpd.conf
# 新建vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
# 以下内容
anonymous_enable=YES
anon_root=/ftp/
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
#外地用户是否可以访问 注:如果为NO则所有虚拟用户都将不能访问。原因:虚拟用户访问在主机上其实是以外地用户访问的pam_service_name=vsftpd pam认证文件名 /etc/pam.d/vsftpd
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd/xfer.log
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd/vsftp.log
ftpd_banner=Welcome to FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=NO
#config virtual user FTP
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=300
#启用虚拟用户功能
guest_enable=YES
guest_username=ftp
# 设置虚拟用户个人vsftp服务配置文件所在目录
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
# vsftpd用户没有方法修改文件的权限的权限(chmod加上这两行就可以了
virtual_use_local_privs=YES
chmod_enable=YES
#所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
#匿名上传文件所属用户名
chown_username=ftp
pasv_enable=YES
pasv_min_port=10060
pasv_max_port=10070
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES
# 解决登录速度慢的问题
reverse_lookup_enable=NO
3. 建立用户文件
cd /etc/vsftpd
touch chroot_list
如使用虚拟用户在登录过程中报530,则可分别尝试使用3.1或3.2
3.1 使用dbd数据库
#第一行用户名,第二行密码,不能使用root为用户名(奇数行用户名,偶数行密码,这里用户名是ftpuser,密码为123456)
vi /etc/vsftpd/virtusers
ftpuser
123456
# 执行生成dbd数据库过程
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
chmod 600 /etc/vsftpd/virtusers.db
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
#设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
chmod 600 /etc/vsftpd/virtusers.db
3.2 使用gdbm数据库
# 添加用户
gdbmtool /etc/vsftpd/virtusers.pag store username password
# 如添加ftpuser 密码 123456
gdbmtool /etc/vsftpd/virtusers.pag store ftpuser 123456
4. 修改/etc/pam.d/vsftpd文件
# 修改前先备份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
# 将auth及account的所有配置行均注释掉(每行前面加 # )
vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
# 如果系统为32位,上面改为lib
5. 新建系统用户vsftpd,用户目录为/home/vsftpd
#用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd
6.建立虚拟用户个人配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
#这里建立ftpuser虚拟用户配合文件
touch ftpuser
#建立用户根目录
mkdir -p /home/vsftpd/ftpuser/
#更改用户目录权限
sudo chmod -R 777 /home/vsftpd/ftpuser
#编辑chris用户配置文件,内容如下,其他用户类似
vi ftpuser
local_root=/home/vsftpd/ftpuser/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
7. 防火墙设置
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=10060-10070/tcp --permanent
firewall-cmd --reload
8. 重启vsftpd服务器
systemctl restart vsftpd
骑着母猪去打猎的备忘录,如有侵权请联系本人骑着母猪去打猎删除。https://www.cnblogs.com/shichq/p/17640124.html
如果本文对您有所帮助,麻烦在下面评论里面随便敲上那么几下键盘,谢谢了
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?