Debian 9 vsftpd: version 3.0.3 配置
现在网上关于vsftpd的资料不少,但是版本已经比较老,配置起来各种错误,耽误不少时间,现将配置步骤更新如下,配置环境版本:Debian 9 + vsftpd: version 3.0.3
1.apt install vsftpd
2.安装完成后,vsftpd自动添加了ftp用户和ftp用户组
3.mkdir /ftp,添加ftp根目录
4.vi /etc/passwd || usermod -d /ftp ftp
修改ftp主目录 原:/srv/ftp 新 /ftp
5.修改/ftp目录所属组为ftp
chgrp ftp /ftp
6.创建vsftp用户目录
mkdir /ftp/vsftp
7.添加vsftp用户
useradd -g ftp -d /ftp/vsftp -s /sbin/nologin vsftp
passwd vsftp
******
8.添加FTP配置文件目录
mkdir /etc/vsftpd/
mkdir /etc/vsftpd/vconf
9.创建用户和密码文件
创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。
vi vftpuser.txt //新建文件写入用户名和密码
注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。
例如:
abcd ***** dcba *****
创建了两个用户abc和cba密码分别为****和*****
接着使用工具将其转换,并且存放在适当的位置,如:、
db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
命名为vsftpd_login.db。
注意:此时如果没有安装db4工具会出现错误。
解决方法:
apt install db5.3-util
db5.3_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
10.设置PAM验证文件,并制定虚拟用户数据库文件进行读取
使用find / -name 'pam_userdb.so'查找
结果:/lib/x86_64-linux-gnu/security/pam_userdb.so
修改/etc/pam.d/vsftpd
添加:
auth sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/opt/vsftp/vsftpd_login account sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/opt/vsftp/vsftpd_login auth include system-auth account include system-auth session include system-auth session required pam_loginuid.so
11.创建虚拟用户配置文件:
12.配置vsftpd参数 ,vi /etc/vsftpd.conf
vconf/default文件内容:
local_root=/home/ftp/ftpdir #指定虚拟用户仓库的具路径 anonymous_enable=NO #设定不允许匿名访问 write_enable=YES #允许写的操作 local_umask=022 #上传文件的权限掩码 anon_upload_enable=YES #不允许匿名上传 anon_mkdir_write_enable=YES #不允许匿名用户建立目录 idle_session_timeout=300 #设定空闲链接超时时间 data_connection_timeout=1000 #设定单次传输最大时间 max_clients=0 #设定并发客户端的访问数量 max_per_ip=0 #设定客户端的最大线程数 local_max_rate=0 #设定用户的最大传输速率,单位b/s cmds_allowed=ABOR,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,SIZE,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST #这里是你给他设的权限,我这里给的权限符合上头所说的要求,可以上传下载,但不能删除文件,也不能创建文件夹 #完整权限:cmds_allowed=ABOR,CWD,LIST,DELE,RMD,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,REST,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
新用户配置文件通过默认直接复制(注意复制完修改local_root参数):
cp default abc
cp default cba
mkdir /ftp/abc
mkdir /ftp/cba
修改属主/组信息
chown abc:ftp /ftp/abc
13.配置vsftpd参数:
vi /etc/vsftpd
write_enable=YES local_umask=022 # 手动添加以下项目 #启用虚拟用户功能 guest_enable=YES #指定虚拟的宿主用户 guest_username=vsftp #设定虚拟用户的权限符合他们的宿主用户 virtual_use_local_privs=YES #设定虚拟用户个人vsftp的配置文件存放路劲。这个被指定的目录里,将被存放每个虚拟用户个性的配置文件,注意的地方是:配置文件名必须和虚拟用户名相同。 user_config_dir=/etc/vsftpd/vconf listen_port=21 pasv_enable=YES pasv_min_port=13031 pasv_max_port=13051 pasv_promiscuous=YES ftpd_banner=FTP service
vsftpd配置附件:vsftpd.rar
vsftpd参数参考:http://www.cnblogs.com/9426yu/p/4835443.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理