使用软件:vsftpd
本配置使用:虚拟用户模式
简单说,就是将FTP的登陆账户与linux系统的一个账号关联起来。
1.环境准备
yum -y install vsftpd db4 db4-utils pam
2.创建用户
- 虚拟用户为test,主目录为/home/ftp,不允许登陆系统
useradd -d /home/ftp -s /sbin/nologin test
第2、3步的文件夹和文件放哪都行
- 创建虚拟用户文件存放文件夹
mkdir /etc/vsftpd/virtual/
- 在 /etc/vsftpd/virtual/目录下
vim /etc/vsftpd/virtual/passwd
内容一行用户名,一行密码,这是ftp的登录用户
user
1234567
-
关键 配置虚拟用户数据文件
验证都靠这个db文件,之前编辑的passwd文件可以删掉。要更新用户就删了db文件,再重复3、4步
db_load -T -t hash -f /etc/vsftpd/virtual/passwd /etc/vsftpd/virtual/passwd.db
3.修改配置文件
1.编辑pam配置
vim /etc/pam.d/vsftpd.vu
文件内容追加你的db文件的位置,db的后缀可忽略
auth required pam_userdb.so db=/etc/vsftpd/virtual/passwd
account required pam_userdb.so db=/etc/vsftpd/virtual/passwd
2.编辑vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
3.0版本的默认配置可以不用修改,只追加内容
#之前创建的pam配置文件的名字
pam_service_name=vsftpd.vu
#被动模式需要的端口范围
pasv_max_port=5600
pasv_min_port=5500
3.配置防火墙
firewall-cmd --permanent --add-port=5500:5600/tcp
firewall-cmd --reload
4.启动vsftpd服务
service vsftpd restart
4.结语
本文为记录文,如有错误欢迎指正
- 想对默认配置参数有所了解的可以自行百度,若想对用户读写操作做限制,可以使用anon开头的参数
- FTP被动模式就是指我们主动用浏览器等客户端连接FTP
- 不配置被动模式需要的端口范围,即使密码正确登陆也无法显示根目录
- 推荐参考《Linux就该这么学》书第11章,可以免费下载
[1]: https://www.linuxprobe.com/
网友评论