FTP-实验实施


根据公司的开发部门和市场部门的业务发展要求,需要面向Internet搭建一台FTP文件服务器,以提供公测版软件、市场资料的下载与上传、文件管理等应用,同时要对用户访问和下载/上传流量进行控制。考虑到服务器的运行效率及稳定、安全性,选择在CentOS6.5操作系统中构建vsftpd服务器实现

需求描述

  • 添加三个FTP虚拟用户devadm、sales、saleadm
  • 设置用户访问及文件权限控制:
    • 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料
    • 用户devadm可以对/var/ftp/soft/目录进行上传、删除等操作
    • 用户sales可以从服务器/var/market/目录下载资料
    • 用户saleadm可以对/var/market/目录进行上传、删除等操作
    • 所有上传的文件,均去除非属主位的写(w)权限(即将权限掩码设为022)
    • 对服务器中没有明确授权的其他目录,均禁止以上用户访问
  • 传输速率和并发连接控制:
    • 最多允许150个并发用户连接,每IP并发连接数不超过5个
    • 匿名用户及sales用户的下载带宽限制为100KB/s
    • saleadm用户的下载、上传带宽限制为200KB/s

一、建立虚拟用户的账号数据库

1.创建文本格式的用户名、密码列表

[root@jason ~]# cd /etc/vsftpd/
[root@jason vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@jason vsftpd]# vi vusers.list

devadm
123123
sales
123123
salesadm
123123                                                             
:wq

安装db-utils工具包

[root@jason ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@jason ~]# cd /mnt/Packages/
[root@jason Packages]# rpm -ivh db4-utils-4.7.25-18.el6_4.x86_64.rpm 
warning: db4-utils-4.7.25-18.el6_4.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
    package db4-utils-4.7.25-18.el6_4.x86_64 is already installed
[root@jason Packages]#

2.创建Berkeley DB格式的数据库文件

[root@jason vsftpd]# chmod 600 /etc/vsftpd/vusers.*
[root@jason vsftpd]# ls -lh /etc/vsftpd/vusers.*
-rw-------. 1 root root 12K Jul 10 22:41 /etc/vsftpd/vusers.db
-rw-------. 1 root root  43 Jul 10 22:30 /etc/vsftpd/vusers.list
[root@jason vsftpd]#

3.添加虚拟用户的账号映射账号、创建FTP根目录

[root@jason vsftpd]# useradd -d /var/market -s /sbin/nologin vulab
[root@jason vsftpd]# chmod 755 /var/market
[root@jason vsftpd]# ls -ld /var/market
drwxr-xr-x. 2 vulab vulab 4096 Jul 10 22:46 /var/market
[root@jason vsftpd]#

二、为vsftpd服务添加虚拟用户支持

1.为虚拟用户建立PAM认证文件

[root@jason vsftpd]# vi /etc/pam.d/vsftpd.vu

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

:wq

2.修改vsftpd配置,添加虚拟用户支持


results matching ""

    No results matching ""