CentOS搭建FTP服务器以及下载线程、速度控制CentOS搭建FTP服务器以及下载线程、速度控制
CentOS VSFTPD服务器
然后全面介绍CentOS VSFTPD安装,CentOS Linux和与之对应版本号的RHEL发行版具有软件包级别的二进制兼容性,即某个RPM软件包如果可以安装运行在RHEL产品中,就可以正常地安装运行 在对应版本的CentOS Linux中。希望对大家有用。 1.此次为了测试了解一下,CentOS VSFTPD,采用RPM包安装方式
首先rpm -qa | grep CentOS VSFTPD查看有无安装,若没有,则要安装,我采用的是...
CentOS搭建FTP服务器以及下载线程、速度控制
CentOS VSFTPD服务器
然后全面介绍CentOS VSFTPD安装,CentOS Linux和与之对应版本号的RHEL发行版具有软件包级别的二进制兼容性,即某个RPM软件包如果可以安装运行在RHEL产品中,就可以正常地安装运行 在对应版本的CentOS Linux中。希望对大家有用。 1.此次为了测试了解一下,CentOS VSFTPD,采用RPM包安装方式
首先rpm -qa | grep CentOS VSFTPD查看有无安装,若没有,则要安装,我采用的是yum
[root@POPTOP ~]# rpm -qa | grep VSFTPD [root@POPTOP ~]#
[root@POPTOP ~]#
[root@POPTOP ~]# yum search vsftpd Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror01.idc.hinet.net
* base: mirror01.idc.hinet.net
* extras: mirror01.idc.hinet.net
* updates: mirror01.idc.hinet.net
========================================================= Matched: vsftpd ========================================================== vsftpd.i386 : vsftpd - Very Secure Ftp Daemon
[root@POPTOP ~]#
[root@POPTOP ~]#
[root@POPTOP ~]#
[root@POPTOP ~]# yum install vsftpd Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror01.idc.hinet.net
* base: mirror01.idc.hinet.net
* extras: mirror01.idc.hinet.net
* updates: mirror01.idc.hinet.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.i386 0:2.0.5-16.el5_6.1 set to be updated addons/filelists | 195 B 00:00 base/filelists | 2.9 MB 00:11 extras/filelists_db | 197 kB 00:00 updates/filelists_db | 2.9 MB 00:11 --> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================
Package Arch Version Repository Size ====================================================================================================================================
Installing:
vsftpd i386 2.0.5-16.el5_6.1 updates 141 k
Transaction Summary
==================================================================================================================================== Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 141 k
Is this ok [y/N]: y
Downloading Packages:
vsftpd-2.0.5-16.el5_6.1.i386.rpm | 141 kB 00:00 Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd 1/1
Installed:
vsftpd.i386 0:2.0.5-16.el5_6.1
Complete!
[root@POPTOP ~]#
[root@ftp sbin]# service vsftpd status vsftpd is stopped
[root@ftp sbin]# service vsftpd start Starting vsftpd for vsftpd: [ OK ] [root@ftp sbin]#
2.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在侦听了!
相关配置文件:/etc/vsftpd/vsftpd.conf里面;
实验1、针对于匿名帐户的设置
要实现的目的:
1、只有匿名帐户可以登陆
2、在FTP
下创建incoming目录 ,手工,
3、允许匿名访问~但不允许在ftp目录中创建~删除
4、允许匿名用户在incoming目录中上传~创建~删除目录。
5、匿名帐户上传的文件~自动变为alice所属
6、用户空闲600秒自动中断
7、匿名帐户最大传输速率50kbytes/sec
# vi /etc/vsftpd.conf
anonymous_enable=YES // 允许匿名用户登录
local_enable=NO // 不允许本地用户登录
anon_upload_enable=YES // 允许匿名用户上传文件~本来有删除#注释 anon_mkdir_write_enable=YES // 允许匿名用户创建文件夹~删除注释 anon_other_write_enable=YES // 给予匿名用户写的权利 添加 idle_session_timeout=600 设置空闲的用户对话中断时间,默认的时间为600秒 删除注释
anon_max_rate=50000 // 匿名用户最大的上传下载速率50k
Vsftpd.conf文件配置完成了
linux系统上操作
# mkdir /var/ftp/incoming // 建立incoming文件夹
# chmod go+w /var/ftp/incoming // 给予incoming文件夹权限 g(group)组o(other)其它人全有写权限
# service xinetd restart //重启ftp服务
实验2 虚拟用户
虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器,只介绍用DB库存储用户名及密码的方式,
检查安装db4相关rpm,完成正式开始
[root@POPTOP vsftpd]# yum install db4*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirror01.idc.hinet.net
* base: mirror01.idc.hinet.net
* extras: mirror01.idc.hinet.net
* updates: mirror01.idc.hinet.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package db4.i386 0:4.3.29-10.el5_5.2 set to be updated
---> Package db4-devel.i386 0:4.3.29-10.el5_5.2 set to be updated
---> Package db4-java.i386 0:4.3.29-10.el5_5.2 set to be updated
---> Package db4-tcl.i386 0:4.3.29-10.el5_5.2 set to be updated
---> Package db4-utils.i386 0:4.3.29-10.el5_5.2 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================
Package Arch Version Repository Size =====================================================================================================
Installing:
db4-java i386 4.3.29-10.el5_5.2 base 1.7 M
db4-tcl i386 4.3.29-10.el5_5.2 base 1.0 M
db4-utils i386 4.3.29-10.el5_5.2 base 119 k
Updating:
db4 i386 4.3.29-10.el5_5.2 base 910 k
db4-devel i386 4.3.29-10.el5_5.2 base 1.9 M
Transaction Summary
=====================================================================================================
Install 3 Package(s)
Upgrade 2 Package(s)
Total download size: 5.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): db4-utils-4.3.29-10.el5_5.2.i386.rpm | 119 kB 00:00 (2/5): db4-4.3.29-10.el5_5.2.i386.rpm | 910 kB 00:03 (3/5): db4-tcl-4.3.29-10.el5_5.2.i386.rpm | 1.0 MB 00:04 (4/5): db4-java-4.3.29-10.el5_5.2.i386.rpm | 1.7 MB 00:09 (5/5): db4-devel-4.3.29-10.el5_5.2.i386.rpm | 1.9 MB 00:09 ------------------------------------------------------------------------------------------------------------------------------------ Total 211 kB/s | 5.7 MB 00:27 Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : db4 1/7
Installing : db4-tcl 2/7
Installing : db4-java 3/7
Updating : db4-devel 4/7
Installing : db4-utils 5/7
Cleanup : db4-devel 6/7
Cleanup : db4 7/7
Installed:
db4-java.i386 0:4.3.29-10.el5_5.2 db4-tcl.i386 0:4.3.29-10.el5_5.2 db4-utils.i386 0:4.3.29-10.el5_5.2
Updated:
db4.i386 0:4.3.29-10.el5_5.2 db4-devel.i386 0:4.3.29-10.el5_5.2
Complete!
1:创建虚拟用户文本文件,添加虚拟用户和密码
[root@POPTOP vsftpd]# touch /etc/vsftpd/vuser.txt [root@POPTOP vsftpd]# vi /etc/vsftpd/vuser.txt //单行是用户名,双行是密码
mike
123456
john
123456
2 生成动态数据库(口令库(认证)文件)
[root@POPTOP vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
[root@POPTOP vsftpd]#
3:配置PAM文件,目的是对客户端进行验证,虚拟用户所需的PAM配置文件
编辑/etc/pam.d/vsftpd文件~批注所有内容~后添加:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser 4 修改虚拟数据库文件vuser.db的权限为 600,认证文件只对用户可读可写 [root@POPTOP vsftpd]# ls -l
total 60
-rw------- 1 root root 125 Mar 31 07:49 ftpusers -rw------- 1 root root 361 Mar 31 07:49 user_list -rw------- 1 root root 4625 Jul 27 15:31 vsftpd.conf -rwxr--r-- 1 root root 338 Mar 31 07:49 vsftpd_conf_migrate.sh
-rw-r--r-- 1 root root 12288 Jul 27 16:30 vuser.db -rw-r--r-- 1 root root 24 Jul 27 16:08 vuser.txt [root@POPTOP vsftpd]# chmod 600 vuser.db
[root@POPTOP vsftpd]# ls -l
total 60
-rw------- 1 root root 125 Mar 31 07:49 ftpusers -rw------- 1 root root 361 Mar 31 07:49 user_list -rw------- 1 root root 4625 Jul 27 15:31 vsftpd.conf -rwxr--r-- 1 root root 338 Mar 31 07:49 vsftpd_conf_migrate.sh
-rw------- 1 root root 12288 Jul 27 16:30 vuser.db -rw-r--r-- 1 root root 24 Jul 27 16:08 vuser.txt [root@POPTOP vsftpd]#
5:增加一个实体用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用实体用户来访问ftp服务器。
[root@POPTOP var]# useradd -d /var/ftp/vuser vuser //增加一个实体用户
[root@POPTOP var]# mkdir /var/ftp/vuser
mkdir: cannot create directory `/var/ftp/vuser': File exists //系统里已经有了
[root@POPTOP var]# cd ftp
[root@POPTOP ftp]# ls
incoming pub vuser
[root@POPTOP ftp]# ls -l
total 24
drwxrwxrwx 2 root root 4096 Jul 27 15:34 incoming drwxr-xr-x 2 root root 4096 Mar 31 07:49 pub drwx------ 4 vuser vuser 4096 Jul 27 16:44 vuser [root@POPTOP ftp]# chown vuser.vuser /var/ftp/vuser //未发生变化~也就是说这一步不用做 [root@POPTOP ftp]# ls -l
total 24
drwxrwxrwx 2 root root 4096 Jul 27 15:34 incoming drwxr-xr-x 2 root root 4096 Mar 31 07:49 pub drwx------ 4 vuser vuser 4096 Jul 27 16:44 vuser [root@POPTOP ftp]#
6:修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器 这几行都是增加的:
guest_enable=YES ####激活虚拟账户
guest_username=vuser ####把虚拟账户绑定为实体账户vuser
pam_service_name=vsftpd ####使用PAM验证
7 控制虚拟用户的访问
1,:设置虚拟用户的主配置文件~编辑vsftpd.conf文件~激活:
user_config_dir=/etc/vsftpd/vsftpd_user_conf //添加
2,: 建立vsftpd_user_conf
mkdir /etc/vsftpd/vsftpd_user_conf
3,:设置虚拟用户配置文件,与虚拟账户同名
touch /etc/vsftpd/vsftpd_user_conf/mike
4,:编辑虚拟账户mike的配置文件mike~是虚拟账户mike获得相应的权限
anon_world_readable_only=NO ###浏览FTP目录和下载 /var/ftp/vuser
anon_upload_enable=YES ###上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
没有的配置项默认按照vsftpd.conf的配置内容
注意事项:
local_enable=YES //PAM方式此处必须为YES~如果不是将出现如下错误: 500 OOPS: vsftpd: both local and anonymous access disabled!
经过检查目录是在vuser下:
[root@POPTOP vuser]# pwd
/var/ftp/vuser
[root@POPTOP vuser]# ls
aaa Big Big World.mp3 ddd
[root@POPTOP vuser]#
5~FTP服务器的资源限制
max_clients=100 允许最大的客户端连接数
max_per_ip=5 同一IP最大客户端的连接数
local_max_rate=5000000 设置本地用户最大传输数率
anon_max_rate=2000000 匿名用户最大的传输数率
速度限制测试:
[root@POPTOP vuser]# vi /etc/vsftpd/vsftpd_user_conf/mike anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1000000 //大概速度控制在900k左右
修改mike的配置文件
anon_max_rate=100000 //速度是100kB/sec
anon_max_rate=500000 //速度500KB/sec
修改用户名 密码测试
用户名没有修改,只是修改密码
1.[root@POPTOP vsftpd]# vi /etc/vsftpd/vuser.txt //单行是用户名,双行是密码
mike
123456mike
john
123456
2 重新生成动态数据库(口令库(认证)文件) [root@POPTOP vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
3 重新启动vsftpd
[root@POPTOP vsftpd]#service vsftpd restart
Ok了。
本文档为【CentOS搭建FTP服务器以及下载线程、速度控制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。