1、vsftpd服务器的搭建

# yum -y install vsftpd lftp

2、搭建匿名访问ftp服务器,允许所有人上传和下载,并创建文件夹

# vim /etc/vsftpd/vsftpd.conf 
修改如下配置:
   anonymous_enable=YES 
   anon_upload_enable=YES
   anon_mkdir_write_enable=YES
# service vsftpd start
# chkconfig vsftpd on

在windows资源管理器地址栏输入ftp地址,如下图所示

linux下ftp服务器的搭建与使用_第1张图片

3、搭建一个ftp和web服务器,并创建两个用户team1和team2,这两个用户不能登录系统且将这两个用户的根目录限制为/var/www/html/

3-1、创建两个用户

# useradd -s /sbin/nologin team1
# useradd -s /sbin/nologin team2
# echo "team1:abc123" | chpasswd
# echo "team2:abc123" | chpasswd

3-2、修改vsftpd的配置文件

# vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO
    local_root=/var/www/html
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
# touch /etc/vsftpd/chroot_list
# vim /etc/vsftpd/chroot_list
    team1
    team2
# service vsftpd restart 
# chmod -R o+w /var/www/html/
# cp /etc/passwd /var/www/html

验证测试:

linux下ftp服务器的搭建与使用_第2张图片

linux下ftp服务器的搭建与使用_第3张图片

4、搭建一个ftp服务器,客户可以下载产品信息。公司人员可以下载和上传文件,以及删除数据

1) 创建ftp虚拟帐号。允许客户使用ftp帐号下载文件。 但是,公司人员帐号:vip帐号可以上传一内部文件。

2) 需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。

3) 保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。

4-1、生成用户数据库

# vim /etc/vsftpd/vsftpd_virtualuser.txt           # 创建用户文本文件
ftp
123
vip
123
# rpm -qf `which db_load` 
# db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt /etc/vsftpd/vsftpd_virtualuser.db                                     # 生成数据库
# rm -rf vsftpd_virtualuser.txt 
# chmod 600 /etc/vsftpd/vsftpd_virtualuser.db      # 修改数据库文件的访问权限

4-2、修改pam配置

# cd /etc/pam.d/
# vim vsftpd 
注释掉其他内容,添加一下内容
auth        required    /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_virtualuser
account     required    /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_virtualuser

4-3、创建虚拟帐号对应的系统用户及ftp共享的目录

# useradd -d /var/ftp/share ftpuser
# useradd -d /var/ftp/vip ftpvip
# chmod -R 500 /var/ftp/share/
# chmod -R 700 /var/ftp/vip/

4-4、修改vsftpd配置文件

# vim /etc/vsftpd/vsftpd.conf
修改如下配置
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
添加如下配置
user_config_dir=/etc/vsftpd/vuserconfig
max_clients=300
max_per_ip=10

4-5、建立虚拟账号配置文件

# mkdir /etc/vsftpd/vuserconfig
# touch /etc/vsftpd/vuserconfig/ftp
# touch /etc/vsftpd/vuserconfig/vip
# vim /etc/vsftpd/vuserconfig/ftp
guest_enable=yes                    # 开启虚拟账号
guest_username=ftpuser              # 设置ftp 对应的系统账号为ftpuser              
anon_world_readable_only=no         # 允许匿名用户浏览整个服务器的文件系统
anon_max_rate=50000                 # 限定传输速率为 50KB/S
# vim /etc/vsftpd/vuserconfig/vip
guest_enable=yes                    
guest_username=ftpvip
anon_world_readable_only=no
write_enable=yes                     # 允许在文件系统写入权限
anon_mkdir_write_enable=yes          # 允许创建文件夹
anon_upload_enable=yes               # 开启匿名账号的上传功能
anon_other_write_enable=yes          # 允许删除、重命名
anon_max_rate=100000

4-6、验证服务

# service vsftpd restart

打开另一个服务器终端

# lftp 192.168.159.130 -u ftp,abc123                # 使用客户账号连接
lftp [email protected]:/> get prodictinfo.xls     # 下载文件,查看速度
9014336 bytes transferred in 180 seconds (48.8K/s) 
# lftp 192.168.159.130 -u vip                       # 使用vip账号连接
Password:
lftp [email protected]:/> get productinfo.xls     # 下载文件,查看速度
9014336 bytes transferred in 91 seconds (96.9K/s)
lftp [email protected]:/> rm -rf productinfo.xls  # 删除文件
rm ok, `productinfo.xls' removed