FTP简介:
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理。但是ftp有着极高的延时,这就意味着从开始请求到第一次接收需求数据之间的时间会很长,并且不时的必须执行一些冗长的登陆进程。ftp服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流。
一:就ftp我们来给出一个小的案例:
由于企业资料比较多,所以对磁盘的空间要求比较大,所以增加另外一个磁盘,如果在虚拟机上做,那么可以随意增加虚拟硬盘的大小。对ftp服务器的要求:
(1)每个用户的空间都是10M。
(2)在速度上的限制:对于匿名账号,速度是100K/S,本地账号速度为1M/s.
(3) 由于服务器一般同时在线的用户比较多,所以限制同时在线用户数量,根据自己需要来设置这个值, 由于设备数量限制,我在这里设置为3.
(4)每个用户开启的连接数限制为2.
三:实验步骤:
(1)我是在linux虚拟机上做的,所以我要增加一块新的虚拟硬盘,然后进行磁盘分区:
[root@localhost ~]# fdisk –l
[root@localhost ~]# fdisk /dev/sdb #磁盘分区
[root@localhost ~]# partprobe /dev/sdb #内核重新读取磁盘分区表
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 #格式化磁盘
[root@localhost ~]# mkdir /mnt/ftppart #建立一个挂载点
[root@localhost ~]# mount /dev/sdb1 /mnt/ftppart/
[root@localhost ~]# df –h #查看分区情况.......
安装ftp包:
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
(2)建立用户和修改用户家目录:
[root@localhost Server]# cd /mnt/ftppart/
[root@localhost ftppart]# mkdir public #建立公共目录,只允许他人读取,下载,不允许上传
[root@localhost public]# touch f1 f2 #为了测试,放两个小文件
[root@localhost public]# useradd user1
[root@localhost public]# useradd user2 #创建两个用户
[root@localhost home]# echo "123" |passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[root@localhost home]# echo "123" |passwd --stdin user2
Changing password for user user2.
passwd: all authentication tokens updated successfully.
由于/etc/passwd包含了用户的家目录,所以编辑这个文件,将家目录修改成
/mnt/ftppart/home/user1
/mnt/ftppart/home/user2
[root@localhost home]# vim /etc/passwd
[root@localhost home]# cd /mnt/ftppart/
[root@localhost ftppart]# mkdir home #为用户建立一个新的家目录
[root@localhost ftppart]# cd /home/ #切换到老的家目录下
[root@localhost home]# mv * /mnt/ftppart/home/ #将老的家目录找好移动到新的家目录下
为了验证用户是否被移动到新的家目录下,进行以下操作:
但是如果我们在重新建一个账号,会遇到一个问题,就是该新建的账号家目录仍然在/home/下,不会自动移动到新家目录下,对此,我们采取以下做法:
[root@localhost ftppart]# useradd -D -b /mnt/ftppart/home/
(3)磁盘配额:
编辑 /etc/fstab,将新的硬盘分区放进去。
vim /etc/fstab
[root@localhost ~]# mount -o remount /dev/sdb1 #重新挂载
[root@localhost ~]# cd /mnt/ftppart/
[root@localhost ftppart]# quotacheck -augv –c
[root@localhost ftppart]# edquota -u user1 #针对每个用户进行编辑
[root@localhost ftppart]# edquota -p user1 user2
[root@localhost ftppart]# echo "quotaon /dev/sdb1" >>/etc/rc.d/rc.local #重定向到开机脚本
由于匿名账号的默认家目录在/var/ftp,所以在ftp上进行修改:
[root@localhost ftppart]# vim /etc/vsftpd/vsftpd.conf
启动ftp服务:
service vsftpd restart
4.测试:ftp://192.168.5.100
(1)匿名用户登陆:
本地用户登录:
本地用户可以再ftp服务器上传和下载东西。
(2)测试每个用户登陆的最大数量:
(3)测试同时访问ftp服务器的最大人数,这是我开的第四台机子:
(4)本地用户的速度测试:
测试完毕。