CentOS7--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
selinux firewall
[root@ftp_server ~]# getenforce
Disabled
[root@ftp_server ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
[root@ftp_server ~]#
vsftpd 软件包
[root@ftp_server ~]# rpm -qa | grep vsftpd
vsftpd-3.0.2-11.el7_2.x86_64
建立文本格式的列表文件
[root@ftp_server ~]# vim /etc/vsftpd/vusers.list
[root@ftp_server ~]# cat /etc/vsftpd/vusers.list
devadm
123123
sales
123123
salesadm
123123
用db_load工具转换出DB格式的数据库文件
[root@ftp_server ~]# cd /etc/vsftpd/
[root@ftp_server vsftpd]# db_load -T -t hash -f vusers.list vusers.db
[root@ftp_server vsftpd]# file vusers.db
vusers.db: Berkeley DB (Hash, version 9, native byte-order)
[root@ftp_server vsftpd]# useradd -d /var/market -s /sbin/nologin vulab
[root@ftp_server vsftpd]# chmod 755 /var/market
[root@ftp_server vsftpd]# ls -ld /var/market
drwsr-sr-x 2 vulab vulab 59 Jul 27 00:17 /var/market