网络服务器配置与管理实验报告
实验题目: 配置与管理FTP服务 时间: 2012/04/25
姓名: 于俊梅 学号: 20101401322 班级: 10计3
协作者:
*********************************************************************
实验概述:
【实验原理】
FTP采用客户端/服务器模式工作,一个FTP服务器可同时为多个用户提供服务。它要求用户使用FTP客户端软件与FTP服务器连接,然后才能从FTP服务器上下载或上传文件。
FTP包含两个通道,一个控制通道,一个数据通道。
(1)控制通道
控制通道是FTP客户端和FTP服务器进行沟通的通道,连接FTP服务器、发送FTP命令,都是通过控制通道来完成的。
(2)数据通道
数据通道是FTP客户端与FTP服务器进行文件传输的通道。两种工作方式:
①PORT模式(主动方式):FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,FTP客户端需要接收数据的时候在这个通道上发送PORT命令。
②PASV模式(被动方式):在建立控制通道的时候与PORT模式类似,当客户端通过这个通道发送PASV命令的时候,FTP服务器打开一个位于1024和5000之间的随机端口并且通知FTP客户端在这个端口上进行数据传送。
【实验目的及要求】
(1)了解FTP的概念和工作原理
(2)安装FTP服务
(3)创建FTP站点并测试
(4)创建FTP站点的用户账号
(5)创建“隔离用户”FTP站点并测试
(6)配置和管理FTP站点
【实验环境】(使用的硬件设备、软件或平台)
硬件设备:个人PC机
软件:虚拟机
平台:Windows Server 2003系统与虚拟机之间构建的平台
-------------------------------------------------------------------------------------------------------
实验内容:
【实验方案设计】
在VMware里安装1个Windows Server 2003操作系统,搭建FTP服务需求环境,并验证配置环境,创建FTP站点,虚拟机作服务器,真机作客户端,IP设为同一网段,进行一系列验证配置
【实验过程】(实验步骤、记录、数据、分析)
1.安装FTP服务
(1)打开“控制面板”,选择“添加或删除程序”,然后选择“添加/删除Windows组件”,选择“应用程序服务器”
(2)在“应用程序服务器”对话框的“应用程序服务器的子组件”选项区域中,选取“Internet信息服务(IIS)”选项,然后单击“详细信息”按钮,打开“Internet信息服务(IIS)” 对话框。
(3)在“Internet信息服务(IIS)”对话框的“Internet信息服务(IIS)的子组件”选项区域中,选择“文件传输协议(FTP)服务”选项,单击“确定”按钮返回“应用程序服务器”对话框,然后依次单击“确定”按钮、单击“下一步”按钮、单击“完成”按钮完成FTP服务的安装。
2.创建FTP站点并测试
(1)在FTP服务器中,新建一个文件夹“E:\ftproot”作为FTP站点的根目录,里边存放文件:图片文件夹,music文件夹,readme.txt,ftp.chm,setup.exe,tutu.bmp,tutu.jpg。
(2)选择“开始”→“管理工具”→“Internet信息服务(IIS)管理器”命令,打开“Internet信息服务(IIS)管理器”管理控制台,展开“ftp站点”,右击“默认FTP站点”图标,删除“默认FTP站点”图标。
(3)右击“Internet信息服务(IIS)管理器”管理控制台中的“FTP站点”图标,选择“新建”→“FTP站点”,单击“下一步”,在“FTP站点描述”对话框中输入“自由人艺术公司”。
(4)单击“下一步”,打开“IP地址和端口设置”对话框,输入IP:192.168.102.103,端口号:21。单击“下一步”,打开“FTP用户隔离”对话框。
(5)在“FTP用户隔离”对话框中,选择“不隔离用户”单选按钮,单击“下一步”,打开“FTP站点主目录”对话框。
(6)在“FTP站点主目录”对话框中,指定FTP站点主目录路径为“E:\ftproot”
,单击“下一步”,打开“FTP站点访问权限”对话框,选择“读取”。
(7)单击“下一步”,打开“已成功完成FTP站点创建向导”对话框,单击“完成”按钮,完成FTP站点的创建。
测试:
① 打开IE浏览器,在地址栏输入“ftp://192.138.102.103”
② 打开“命令提示符”窗口,输入ftp 192.168.102.103,并使用匿名用户
“anonymous”登录FTP站点,连接成功后,使用“dir”命令显示FTP站点上的目录文件和子目录列表,若要断开,输入“bye”。
3.创建FTP站点的用户账号
(1)选择“开始”→“运行”命令,在弹出的“运行”对话框中,输入字符串命令“compmgmt.msc”,打开本地计算机的“计算机管理窗口”。
(2)在“计算机管理”窗口的左侧区域,双击“本地用户和组”选项,右击“用户”图标,在弹出的快捷菜单中选择“新用户”命令。
(3)在“新用户”对话框中输入用户名:Jim,全名:Jim,描述:艺术总监,密码:126,将“用户下次登录时须更改密码”项目中的选中状态取消,同时选中“用户不能更改密码”复选框,依次单击“创建”按钮和“关闭”按钮,一个新的用户账号就创建成功了。
4.创建“隔离用户”的FTP站点并测试
(1)首先在E盘根目录下建立文件夹“glftproot”,打开该文件夹在其中再创建一个文件夹“Localuser”,在“Localuser”文件夹中创建两个子文件夹,分别为“Jim”、“Public”,在这两个文件夹中分别存放“Jim1.doc”、“Jim2.jpg”、“Jim3.txt”文件和“Public 1.doc”、“Public 2.jpg”、“Public 3.txt”。
(2)打开“Internet信息服务(IIS)管理器”管理控制台,右击FTP站点图标,“新建”→“FTP站点”命令,单击“下一步”。
(3)在“FTP站点描述”对话框中输入新建站点名称:“自由人公司隔离FTP站点”,单击“下一步”,输入IP地址:192.168.102.103,端口号为默认的“21”
,单击“下一步”。
(4)在“FTP用户隔离”设置对话框中选择“隔离用户”选项,单击“下一步”,在“FTP站点主目录”对话框中设置隔离FTP站点的主目录为:“E:\glftproot”,单击“下一步”,“完成”按钮,完成隔离用户FTP站点的创建。
测试:
① 在IE浏览器地址栏中输入ftp://Jim@192.168.102.103来连接隔离用户的
FTP站点,在弹出的登录身份认证对话框中输入用户名及密码后按【Enter】键。
② 在IE浏览器地址栏中输入ftp://192.168.102.103来连接FTP站点。
5. 配置和管理FTP站点
(1)设置安全帐户
在FTP站点“属性”对话框中,选择“安全帐户”选项卡,取消选中“允许匿名连接”复选框,打开IIS管理器警示对话框,单击“是”按钮,返回FTP站点“属性”对话框,单击“确定”按钮保存设置。
(2)设置消息
在FTP站点“属性”对话框中选择“消息”选项卡,在“标题”文本框中输入:“自由人公司FTP”,在“欢迎”文本框中输入“欢迎光临!”,在“退出”文本框中输入“谢谢您的光临!欢迎下次惠顾!”,在“最大连接数”文本框中输入“对不起,系统忙,请稍后继续!”。
(3)配置FTP站点主目录
在FTP站点“属性”对话框中选择“主目录”选项卡,选择FTP站点目录的路径为:E:\ftproot,选中“读取”和“记录访问”复选框。
(4)创建虚拟目录
打开“Internet信息服务(IIS)管理器”管理控制台,右击FTP站点图标,“新建”→“虚拟目录”命令,单击“下一步”,设置虚拟目录别名为“sout”,单击“下一步”,在“FTP站点内容目录”对话框中,输入路径“E:\内容”,设置访问权限为“读取”,单击“完成”按钮完成虚拟目录创建。
测试:在IE浏览器地址栏输入ftp://192.168.102.103/sout.
【结论】(结果)
FTP服务器上发布的信息,在客户端都能通过IE浏览器访问到相关的内容
【备注】
(1) 虚拟机要网卡桥接
(2) 实验要把虚拟机的IP配置好,把真机的DNS去掉
(3) 虚机的C盘或E盘要存放各种不同的文件,便于FTP查找
=============================================================
Linux中FTP 服务器vsftpd的管理与配置
vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表“very secure FTP daemon”,安全性是其设计与开发的一个重要目标。它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:
? 非常高的安全性需求
? 带宽限制
? 良好的可伸缩性
? 创建虚拟用户的可能性
? 分配虚拟IP地址的可能性
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置:
1. 连接选项
? 监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2. 性能与负载控制
? 超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
? 负载选项
(1) max_clients= numerical value
定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
(2) max_per_ip= numerical value
定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的最大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3. 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
? 匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
? 本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。设置为YES时,在/etc/passwd中的账号才能以本地用户的方式登录vsftpd
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
? 虚拟用户
(1) guest_enable= YES|NO
此值设置为YES是,任何非匿名用户登路的帐号均被假设成为guest。guest默认会取得FTP这个用户的相关权限。但可以通过guest_username来修改
(2) guest_username=
定义vsftpd的guest在系统中的用户名。
4. 安全措施
? 用户登录控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
? 目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
Vsftp服务启动:
# service vsftpd start
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf &
Standalone运行模式下的Xinetd服务修改:
Xinetd服务对Vsftpd服务管理的配置文件:
/etc/xinetd.d/vsftpd
Service ftp
{
Disable=yes
Socket_type=stream
Wait=no
User=root
Server=/usr/sbin/vsftpd
Server_args=/etc/vsftpd/vsftpd.conf
}
重启xinetd
# /etc/rc.d/init.d/xinetd restart
Linux下FTP服务器proftpd安装与配置指南
1.安装
新版的proftp中已经有mod_quotatab了,所以不用另外下载了。
# tar -zxvf proftpd-1.2.10.tar.gz
# cd proftpd-1.2.10
# ./configure \
--prefix=/usr/local/proftpd \
--with-includes=/usr/local/mysql/include/mysql \
--with-libraries=/usr/local/mysql/lib/mysql \
--with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql:mod_ratio # make
# make install
设置自启动
# cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
# chmod 755 /etc/rc.d/init.d/proftpd
# chkconfig --level 0123456 proftpd on
修改/etc/rc.d/init.d/proftpd
# vi /etc/rc.d/init.d/proftpd
把 PATH="$PATH:/usr/local/sbin" 改为 PATH="$PATH:/usr/local/proftpd/sbin"
修改/usr/local/proftpd/etc/proftpd.conf
# vi /usr/local/proftpd/etc/proftpd.conf
把Group nogroup 改为 Group nobody
再添加两行,使支持续传(默认是不支持的)
AllowRetrieveRestart on
AllowStoreRestart on
启动服务
# service proftpd start
2.proftpd的结构
proftpd.conf:这个是主要的 proftpd 的设定档。在 RPM 安装的范例中,所在的目录为 /etc/proftpd.conf ,在这个范例中,则是在/usr/local/proftpd/etc/proftpd.conf。
/usr/local/proftpd/sbin/proftpd:这个是主要的 proftpd 的 daemon 执行档。此外,这也是 TCP Wrappers (/etc/hosts.deny(allow)) 设定里头的服务档案档名。另外,当proftpd 在启动的时候会去读取设定档,也就是proftpd.conf这个档案,不过,我们也可以指定其它的档案来进行proftpd的设定。
# proftpd -c /usr/local/proftpd/etc/proftpd.conf
/usr/local/proftpd/bin/ftpcount:目前在主机上面使用 proftpd 的联机数,直接在指令列下达 ftpcount 即可。
/usr/local/proftpd/sbin/ftpshut:指定再过多久之后 proftpd 服务会终止。语法如下: ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
-l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止
time: 在多少时间后,服务器将关闭ftp服务,格式有两种
+number 经过number分钟后关闭
MMHH 在今天MM:HH服务器将关闭
注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令
举例:
再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time” # ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者直接 # ftpshut -R
/usr/local/proftpd/bin/ftpwho:可以用来察看目前有多少人使用 proftpd 这个服务。简单的语法直接下达 ftpwho 即可,如下所示:
# ftpwho
standalone FTP daemon [8451]:
10194 badbird [ 0m 11s] 0m 6s (idle)
Service class - 1 user
如上所示,目前有一个使用者,名为badbird的账号,在使用proftpd。
3.proftpd.conf
3.1.proftpd.conf 的设定方式
proftpd的设置和apache类似,它的配置基本格式如下:
#全局设置
设置项目1 参数1
设置项目2 参数2
#某个目录的设置
...
...
#关于匿名用户的设置
...
...
...
...
我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了,大家灵活使用就是了。
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
关于限制速率的参数为:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
3.2.常用参数说明
ServerName
#当使用者登入主机的时候,proftpd 会显示在 Client 端的 FTP 软件的一些基本讯息啦! ServerType
#启动 proftpd 的方法,有两种方式,分别是 standalone与xinetd
DefaultServer
#预设的主机啊。这个项目可以设定为on或off,基本上,除非您有两个 IP 或者是设定了虚拟主机 (virtualhost), 否则这个项目都应该要设定为 on 才行!不然有些 uknown的联机会无法连接到您的 FTP 服务。
Port
# 设定主机的 FTP 命令信道端口!FTP命令通道通常为 21 ,您也可以更改,不过,这个设定只有当ServerType 为 standalone 时才有效。
Umask
# 与建立目录及档案的预设属性有关的设定喔!用 022 就够了!
MaxInstances
#同一时间允许的联机数目,这个设定项目与 process (PID) 有关!所以您的 FTP 主机中,proftpd 启用的 process 最多能有30个。这个与 MaxClients 不一样!
User 与 Group
#预设的服务启动者!后面接的使用者与群组必须在 /etc/passwd 与 /etc/group 里面存在方可! MaxHostsPerUser 1 "对不起,每个帐户最多允许来源ip为1个"
#MaxHostsPerUser 对防止ftp帐号还是比较有用的。
MaxClientsPerUser 1 "对不起,每个帐户在每个客户端最多可以同时登陆1次"
#这个参数可以防止多线程软件下载对服务器的破坏
MaxClientsPerHost 1 "对不起,同一个客户端只能最多1个帐号可以登陆"
#比如ftp服务端有好多帐户你都有,但也只能用1个帐号登陆
WtmpLog on
#是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。
TimeoutIdle 600
#客户端idel时间设置,默认就是600秒
DisplayLogin welcome.msg
#设置ftp登陆欢迎信息文件
关于欢迎文件的设置包含如下参数
%T 目前的时间
%F 所在硬盘剩下的容量
%C 目前所在的目录
%R Client 端的主机名称
%L Server 端的主机名称
%U 使用者帐户名称
%M 最大允许连接人数
%N 目前的服务器连接人数
%E FTP服务器管理员的 email
%i 本次上传的文件数量
%o 本次下载的文件数量
%t 本次上传+下载的文件数量
知道这些参数,我们就可以写出一个友好的欢迎语
vi /home/kaoyan/welcome.msg
欢迎您%U, 这是Frank的测试FTP服务器;
目前时间是:%T;
本服务器最多允许%M个用户连接数;
目前服务器上已有%N个用户连接数;
目前你所在的目录是%C;
目录所在的硬盘还剩下%F字节。
让proftp支持现在流行的passive传输方式,默认是不支持的。只要在服务端设置
AllowForeignAddress on
PassivePorts 49152 65534 #端口也可自己指定喜欢的
千万别忘了在客户端也要设置成支持passive
如何让root能登陆,默认proftp是不支持root登陆,我们可以设置让root也能登陆ftp,不过建议大家最好不要让root能登陆ftp,设置如下
RootLogin on
如何禁止某个地址访问ftp。比如禁止10.1.1网段的机器访问ftp,可以这么设置
Order deny,allow
Deny from 10.1.1.
Allow from all
虚拟ftp的建立,一般用于一台ftp服务器有好多ip地址,或者ftp用不同的端口,基本设置语法是: 比如我们要做一个端口是5555的ftp服务器:
ServerName "Frank FTP Server"
Port 5555
...
...
...
...
至于虚拟主机中的其他设置跟我以前讲的基本差不多
上传/下载比率设置,我想用过Serv_U的朋友一定知道这个功能的使用,我们这里让proftp也实现这个功能。
要实现功能注意编译的时候加入ratio模块,否则proftp默认是不支持,假设有个帐户ftp1的ftp目录在/home/kaoyan ,然后我们设置ftp1的上传/下载比率是1:2(即上传1M,就可以下载2M) touch /home/kaoyan/ratio.dat
touch /home/kaoyan/ratio.tmp
chmod -R 666 /home/kaoyan
在proftpd.conf设置如下
Ratios on
SaveRatios on
RatioFile /home/kaoyan/ratio.dat
RatioTempFile /home/kaoyan/ratio.tmp
在相应的设置项里添加
UserRatio ftp1 0 0 2 1000
#UserRatio "使用者帐户" fileratio filequota byteratio bytequota
# fileratio :以文件为基础的比率,通常不限制,故为 0
# filequota :预设置能下载多少文件,不限制时为 0
# byteratio :就是上传/下载的比例,如果数字为2,表示1:2
# bytequota :预设置能下载多少 KBytes 的文件
#上面设置的就是1:2的比率,默认只允许下载1M的文件
重启一下,以后ftp1就可以启用上传/下载比率了
4.各种ftp的配置
4.1.本地用户
目标:
使用主机本地端时间,而不要使用 GMT 时间;
主机最多允许 50 条联机,且最多允许 100 个使用者上线,当超过 100 个使用者还有其它 FTP 要求时,就显示:很抱歉,上线人数额满了!;
同一个 IP (或主机) 来源最多仅能具有 5 个 FTP 服务;
允许续传;
被动式(passive mode)的端口为 65400 到 65420 这21个端口;
主机不允许 Root 登入;
想建立一个名为 badbird 的群组,在该群组内的所有使用者都无法离开自己的家目录(chroot); 在badbird 这个群组当中的 nogoodbird 这个使用者,该使用者能够使用 ftp 但是无法使用 ssh 连到主机;
在这个公开的目录 /home/ftp/pub 中,所有人均不可写入,只有读取的权限;
# vi /usr/local/proftpd/etc/proftpd.conf
# FTP主机的环境设定
ServerName "测试用的 Proftp 主机"
ServerType standalone
DefaultServer on
Port 21
User nobody
Group nobody
#所谓的 GMT 时间就是格林威治时间,因为要使用本地时间,所以设为 off
TimesGMT off
# 最多仅有 50 条 prftpd 的 PID
MaxInstances 50
# 最多允许 100 个使用者在在线
MaxClients 100 "很抱歉上线人数额满了"
# 同一个主机最多可以同时 5 个 FTP 联机
MaxClientsPerHost 5
# 允许使用者续传!预设是 off
AllowStoreRestart on
# 后面接的是端口,最小到最大的端口共 21 个
PassivePorts 65400 65420
# 其它与实体用户较相关的设定值!
Umask 022
# 不许 root 登入!预设就是 off
RootLogin off
# 这个设定可以让使用者不需要具有能够执行的 shell。例如让nogoodbird 这个具有 /bin/false 的使用者,依然可以使用 ftp
RequireValidShell off
# ~ 代表家目录。DefaultRoot后面接的是group,所以在这里badbird为group,而不是user # 这里特别容易搞混乱,请再特别的留意一下阿!只要不属于 badbird
# 这个群组的 User 就可以离开自己的家目录了!(没有被 chroot )
DefaultRoot ~ badbird
# 下面的设定中,在根目录内的所有目录均具有可擦写的权力,但是在
# /home/ftp/pub 这个目录中,不论 Linux 属性为何,使用者均无法写入!
# 但是可以浏览以及下载喔!在我们这个设定当中, badbird 这个群组无法离开
# 自己的家目录,至于其它可以离开自己家目录的使用者,来到这个
# /home/ftp/pub 当中,也不具有写入的权限喔!
AllowOverwrite on
Denyall
建立nogoodbird用户,由于不具有 shell 所以不能 SSH 但可以 ftp
# useradd -g badbird -m -s /bin/false nogoodbird
# service proftpd restart
事实上,对于实体用户实在不需要限制的太多!要不然就不要开放,要不然就直接改成 sftp!此外,在上面这个设定当中,我们暂时拿掉了anonymous的登入,所以使用 anonymous 将无法登入。
4.2.匿名用户
目标:
anonymous的根目录为 /var/ftp 这个目录;
anonymous登入后取得的 PID 在 Linux 的权限为 ftp:ftp;
当anonymous登入 FTP 之后,在 Client 端的 FTP 软件显示一些欢迎讯息;
最多允许 30 个 anonymous 的登入;
限制上传/下载速度为 100Kbytes/s 与 50 Kbytes/s;
在 /var/ftp/ 里面,除了 /var/ftp/upload 之外,其它的目录均不可写入;
在 /var/ftp/upload 这个目录中,仅可以写入,不能下载,并且在使用者进入这个目录后,显示出一些相关的信息;
建立基本的设定档案:
# vi /usr/local/proftpd/etc/proftpd.conf
# 关于主机与实体用户的设定
ServerName "测试用的 Proftp 主机"
ServerType standalone
DefaultServer on
Port 21
User nobody
Group nobody
TimesGMT off # 所谓的 GMT 时间就是格林威治时间,因为要使用本地时间,所以设为 off MaxInstances 50 # 最多仅有 50 条 prftpd 的 PID
MaxClients 100 "很抱歉上线人数额满了" # 最多允许 100 个使用者在在线
MaxClientsPerHost 5 # 同一个主机最多可以同时 5 个 FTP 联机
AllowStoreRestart on # 允许使用者上传续传!预设是 off
PassivePorts 65400 65420
# anonymous 的设定
# 底下为建立 Anonymous 在 Linux 系统下的 PID 权限拥有者
User ftp
Group ftp
UserAlias anonymous ftp
UserAlias nogoodbird ftp
# 建立显示的讯息给 anonymous 观察用的!
DisplayLogin welcome.msg
DisplayFirstChdir .message
MaxClients 30 "匿名登入者联机数已经饱和了!"
# 这个就重要啦!用来限制传输速率的吶!基本语法为:
# TransferRate (STOR|RETR) 速度(Kbytes/s) user 使用者
# STOR 为上传而 RETR 为下载的意思!速度为 Kbytes/second 喔!
TransferRate STOR 100 user anonymous,ftp # 单位为 KBytes/second
TransferRate RETR 50 user anonymous,ftp
Denyall
# 底下这个则仅与 upload 这个目录以及其下的子目录有关而已!
Denyall
Allowall
建立欢迎画面:
注意:如果anonymous 根目录在 /var/ftp,welcome.msg 就必须放置在/var/ftp/welcome.msg
# vi /var/ftp/welcome.msg
欢迎光临!这个是测试 FTP 站点!
我的主机: %L
目前时间: %T
最大联机: %M
目前联机: %N
您的主机: %R
您的账号: %U
目前目录: %C
建立特殊注意事项:
需要在 /var/ftp/upload 里面建立一个特殊讯息 # vi /var/ftp/upload/.message
这个目录仅能上传不能下载,
您的身份为anonymous!
建立 upload 的权限:
# chown ftp:ftp /var/ftp/upload
# chmod 755 /var/ftp/upload
重新启动!
# service proftpd restart
北京理工大学珠海学院实验报告ZHUHAICAMPAUSOFBEIJINGINSTITUTEOFTECHNOLOGY班级财务管理学号…
财务管理实训报告学院:应用科技学院专业:财务管理专业姓名:许诺学号:20xx4811330231引言财务管理是基于企业在生产过程中…
财务管理模拟实验报告***班***组学号:*****姓名:*****一、实验过程1、组队:我们组有六个人分别分配职责,总裁:***…
徐州工程学院管理学院实验报告实验课程名称计算机财务管理实验地点经济管理教学实验中心20xx年2月至20xx年6月专业班级学生姓名学…
20xx.1程丹随着新年钟声的敲响,这个学期也快要接近尾声,我们的折纸活动也开展了近一年的时间,从中班下学期的“初次体验”到这个学…
修水县畜牧水产局畜牧兽医股20xx年工作总结与明年打算20xx年我股的畜牧工作在畜牧水产局的高度重视和正确领导下,在省市业务主管部…
回顾过去的一个月,宿管部在院领导和自管会主席团帮助和指导下,广大同学的大力支持和合作配合下,以及自管会各部的相互协调和共同努力下,…
20xx-20xx学年度第二学期一年级美术教学工作总结丰乐镇中心小学为了进一步提高自己的教学水平,现将本学期的教学工作总结如下:学…
***小学20xx—20xx学年上学期六年级数学科工作总结河尾小学***日子在无为的忙碌中一天天的划过,不知不觉中本学期的教学工作…