- 环境
- 配置环境
- 查找vsftpd.conf
- 进入root模式
- 1.允许匿名访问
- 创建ftp访问的目录
- 修改vsftpd.conf
- 重启ftp服务
- 测试
- 本地测试
- cmd命令行测试
- 2.使用系统用户访问
- 配置vsftpd.conf文件
- 不允许匿名访问
- 创建允许访问的列表
- 检查禁止访问名单
- 测试验证
- 重启服务器
- 在本地使用ftp命令测试
- 在浏览器中访问
- 在win10 cmd命令行访问
- 3.虚拟用户访问
- 创建账户
- 修改配置
- 配置每个用户信息
- 重启
- 测试
- 本地测试
环境
Linux Ubuntu
配置环境
sudo apt-get install --reinstall systemd sudo apt install vsftpd #安装ftp sudo apt install db-util #安装生成虚拟帐号数据库工具db
查看版本
vsftpd -v
查看是否运行
ps -ef|grep vsftp #通过进程号查询 sudo netstat -antp|grep vsftp #通过21端口查询查找vsftpd.conf
sudo find /etc/ -name "vsftpd.conf"
记住配置文件所在位置
如下(示例):
进入root模式sudo su -
1.允许匿名访问 创建ftp访问的目录
这里我创建到了 /home 目录下
mkdir -p /home/ftp touch /home/ftp/hello chmod -R 777 /home/ftp chmod a-w /home/ftp修改vsftpd.conf
vim /etc/vsftpd.conf
加入如下内容
anonymous_enable=YES anon_root= /home/ftp #这里填写你所创建的ftp目录
如下(示例):
保存退出后
/etc/init.d/vsftpd restart测试
匿名登陆的用户名是 anonymous
不需要输入密码
本地测试可以成功登录。
可以查看并下载文件,并且也设置了权限使匿名用户不可以上传文件
也可以成功登录
2.使用系统用户访问
创建用户
配置好自己的密码
adduser uftp
成功后可以看到 /home/ 目录下有了刚刚创建的用户目录
(示例):
在文件中加入如下内容
sudo vim /etc/vsftpd.conf
pasv_promiscuous=YES utf8_filesystem=YES userlist_deny=NO userlist_enable=YES userlist_file=/etc/allowed_users #可以自定义 seccomp_sandbox=NO local_root=/home/uftp/ #可以自定义 local_enable=YES write_enable=YES
如下(示例):
vim /etc/allowed_users
写入可以访问的用户名
(示例):
确保没有允许访问的用户名
/etc/init.d/vsftpd restart在本地使用ftp命令测试
(示例):
可以看到上传的文件可以在 ftp 用户目录下看到本地测试成功
在浏览器中访问
可以看到能够正常访问,成功
成功
3.虚拟用户访问 创建账户
useradd ftpuser -s /sbin/nologin passwd ftpuser修改配置
vim /etc/vsftpd.conf
写入以下内容
anonymous_enable=NO local_enable=YES userlist_enable=YES #userlist_deny=NO # guest_enable=YES guest_username=ftpuser virtual_use_local_privs=YES pam_service_name=vsftpd user_config_dir=/etc/vsftpd/virtualconf userlist_enable=NO userlist_file=/etc/vsftpd/virtusers
如下(示例):
创建配置文件夹,用于存放每个用户的配置
mkdir -p /etc/vsftpd/virtualconf
创建存放用户密码
vi /etc/vsftpd/virtusers
同时使用db命令生成数据库文件
修改pam配置文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db vim /etc/pam.d/vsftpd
把文件的内容全部删掉,替换以下配置
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers配置每个用户信息
切换到用户配置目录下
mkdir -p /home/ftpuser/ftp1 chown ftpuser.ftpuser /home/ftpuser cd /etc/vsftpd/virtualconf/ vim ftp1
写入以下内容
local_root=/home/ftpuser/ftp1 write_enable=YESlocal_root=/home/ftpuser/ftp1 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
如下(示例):
service vsftpd restart测试 本地测试
成功



