ftp匿名,本地,虚拟用户的配置

1、FTP连接及传输模式
  1)控制连接:TCP 21,用于发送FTP命令信息
  2)数据连接:TCP 20,用于上传、下载数据

2、数据连接的建立类型:
  1)主动模式:服务端从 20 端口主动向客户端发起连接
  2)被动模式:服务端在指定范围内某个端口被动等待客户端连接
3、FTP传输模式
  1)文本模式:ASCII 模式,以文本序列传输数据
  2)二进制模式:Binary 模式,以二进制序列传输数据
4、FTP 用户的类型
1)匿名用户:anonymous 或 ftp
2)本地用户:帐号、密码等保存在 passwd、shadow 文件中
3)虚拟用户:使用独立的帐号/密码数据文件
Windows服务器软件        linux下的ftp服务器
IIS    serv-U                  Wu-ftpd  vsftpd

Vsftpd 软件包
官方站点:http://vsftpd.beasts.org/
主程序:/usr/sbin/vsftpd
服务名:vsftpd
用户控制列表文件
 /etc/vsftpd/ftpusers
 /etc/vsftpd/user_list
主配置文件
 /etc/vsftpd/vsftpd.conf


 

 yum -y install vsftpd
 chown ftp /var/ftp/pub/
 chmod 755 /var/ftp/pub/
 vim /etc/vsftpd/vsftpd.conf 

1. 匿名:
anonymous_enable=YES //开启匿名访问
local_enable=NO     //不启用本地用户
anon_umask=022     //上传数据的权限掩码
anon_upload_enable=YES        //上传文件
anon_mkdir_write_enable=YES  // 创建目录
anon_other_write_enable=YES //写入、删除、改名
download_enable=NO         //不允许下载文件
2. 本地:
local_enable=YES    //开启本地用户访问
write_enable=YES   //开放服务器写权限
local_umask=022 
chroot_local_user=YES    //是否将本地用户禁锢在宿主目录中
local_root=/var/ftp/pub //设置本地目录根目录(默认为用户家目录)
allow_writeable_chroot=YES //允许被限制用户的主目录具有写权限
download_enable=NO     //不允许下载文件

systemctl restart vsftpd
netstat -anpt | grep "vsftpd"

验证:liunx客户端访问 ftp 192.168.4.1
      windows客户端访问 ftp://zs:123@192.168.4.1 

3.只允许zs访问,黑名单userlist

vim /etc/vsftpd/user_list
          zs           (其他用户删除)
vim /etc/vsftpd/vsftpd.conf
       userlist_enable=YES
       userlist_deny=NO  

4.修改vsftpd服务的监听地址、端口
vim /etc/vsftpd/vsftpd.conf 
   listen=YES
   listen_address=192.168.4.1
   listen_port=2018
   listen_ipv6=NO

验证:netstat -anpt | grep vsftpd
      linux访问 ftp 192.168.4.1 2121
      windows访问 ftp://192.168.4.1:2121

5.禁用被动模式
vim /etc/vsftpd/vsftpd.conf 
  pasv_enable=NO
默认直接配置被动模式的具体传输参数
  pasv_min_port=24500
  pasv_max_port=24600

6.限制FTP连接的并发数、传输速度
  max_clients=20      //并发最多连接20个
  max_per_ip=2        //每个ip地址的连接数最多两个
  local_max_rate=200000  //本地用户传输速率为200kB/s

验证:ctrl+shift+t 开三个终端验证第二项

二.建立虚拟用户
1.创建文本格式用户名/密码
  vim /etc/vsftpd/vusers.list
  sb
  123
  sb250
  456
2.创建通过db_load工具创建出Berkeley DB格式的数据库文件
  cd /etc/vsftpd/
  db_load -T -t hash -f vusers.list vusers.db
  file vusers.db  查看转换后的文件类型
    
-f 指定数据源文件
-T 允许非Berkeley DB 的应用程序使用从文本格式转换的DB数据文件
-t hash 指定读取数据文件的基本方法

3.为了提高虚拟用户账号文件的安全性,设置文件权限为600,以免数据外泄
 chmod 600 /etc/vsftpd/vusers.*
 ls -lh /etc/vsftpd/vusers.*

4.添加虚拟用户的映射账号、创建FTP根目录
 useradd -d /var/ftproot -s /sbin/nologin test
 chmod 755 /var/ftproot

5.创建新的PAM(可插拔认证模块)
 cd /etc/pam.d/
 cp vsftpd vsftpd.vu
 vi vsftpd.vu

#%PAM-1.0
auth       required     pam_userdb.so   db=/etc/vsftpd/vusers
account    required     pam_userdb.so   db=/etc/vsftpd/vusers
    

6.修改vsftpd配置,添加虚拟用户支持
 vim /etc/vsftpd/vsftpd.conf
   
    local_root=/var/ftproot
    anon_umask=022
    allow_writeable_chroot=YES
    pam_service_name=/etc/pam.d/vsftpd.vu
    userlist_enable=YES
    tcp_wrappers=YES
    guest_enable=YES
    guest_username=test
    


7.为不同的虚拟用户建立独立的配置文件
 vim /etc/vsftpd/vsftpd.conf
  user_config_dir=/etc/vsftpd/vusers_dir
(可以查找每个用户的独立配置文件)

 mkdir /etc/vsftpd/vusers_dir

 cd /etc/vsftpd/vusers_dir

 vi sb
 添加:anon_upload_enable=YES
       anon_mkdir_write_enable=YES

 touch sb250 /创建空配置文件
 systemctl restart vsftpd

匿名用户sb250可以登录,并能够正常浏览、下载文件,但不能上传文件
匿名用户  sb可以登录,且可以正常浏览、下载文件,也可以上传文件

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装和配置vsftpd服务器并设置虚拟用户的步骤如下: 1. 安装vsftpd服务器: 在Ubuntu终端中运行以下命令安装vsftpd服务器: ``` sudo apt-get update sudo apt-get install vsftpd ``` 2. 配置vsftpd服务器: 打开vsftpd的配置文件: ``` sudo nano /etc/vsftpd.conf ``` 3. 修改以下配置项: - 启用虚拟用户功能,将以下行取消注释并修改为: ``` virtual_use_local_privs=YES guest_enable=YES guest_username=ftp user_sub_token=$USER local_root=/home/ftp/$USER chroot_local_user=YES hide_ids=YES ``` - 禁用匿名访问,将以下行取消注释并修改为: ``` anonymous_enable=NO ``` - 允许写入权限,将以下行取消注释并修改为: ``` write_enable=YES local_umask=022 file_open_mode=0777 ``` 4. 保存并关闭文件。 5. 创建虚拟用户: 创建一个系统用户用于管理虚拟用户: ``` sudo adduser ftp ``` 6. 创建虚拟用户配置文件: 创建一个文件来存储虚拟用户用户名和密码: ``` sudo nano /etc/vsftpd/virtual_users.txt ``` 7. 在文件中添加虚拟用户用户名和密码,每行一个用户,格式为`用户名:密码`,例如: ``` user1:password1 user2:password2 ``` 8. 保存并关闭文件。 9. 生成虚拟用户数据库文件: 运行以下命令生成虚拟用户数据库文件: ``` sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db ``` 10. 设置权限: 运行以下命令设置虚拟用户数据库文件的权限: ``` sudo chmod 600 /etc/vsftpd/virtual_users.db ``` 11. 重启vsftpd服务: 运行以下命令重启vsftpd服务以使配置生效: ``` sudo service vsftpd restart ``` 现在,您已经成功安装和配置了vsftpd服务器,并设置了虚拟用户

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库从删库到跑路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值